본문 바로가기
android

Kotlin의 목록에서 null 및 빈 값 제거

by codingcampus 2024. 10. 10.
반응형
SMALL

이 문서에서는 Kotlin의 목록에서 null, 빈 값, 빈 값을 제거하는 다양한 방법을 살펴봅니다.

1. 필터 사용

간단한 솔루션은 필터를 사용하여 Kotlin의 목록에서 null, 비어 있는 값 및 공백 값을 제거하는 것입니다. 그만큼 filter() 함수는 지정된 술어와 일치하는 요소를 유지하고, filterNot() 함수는 지정된 술어와 일치하는 요소를 제거합니다.

목록에서 null 값만 제거하려면 다음 중 하나를 사용할 수 있습니다. filterNotNull() 기능 또는 mapNotNull() 기능, 아래와 같이:

 

fun main() {

    val input = listOf("A", "B", null, "", "C", "D", null, "", "E", " ")

    // 각 println 문은 [A, B, , C, D, , E, ]를 출력합니다.

    println(input.filter { it != null })

    println(input.filterNotNull())

    println(input.mapNotNull { it })

}

 

 
목록에서 null 값과 빈 값을 모두 제거하려면 다음을 사용하는 것이 좋습니다. filterNot() 기능 isNullOrEmpty() 기능. 아래와 같이 목록에서 null 및 빈 값을 제거하는 데 사용할 수 있는 몇 가지 다른 옵션이 있습니다.

 

fun main() {

    val input = listOf("A", "B", null, "", "C", "D", null, "", "E", " ")

    // 각 println 문은 [A, B, C, D, E, ]를 출력합니다.

    println(input.filter { it != null && it.isNotEmpty() })

    println(input.filterNotNull().filterNot { it.isEmpty() })

    println(input.filterNotNull().filter { it.isNotEmpty() })

    println(input.filterNot { it.isNullOrEmpty() })

}

 

목록에서 null, 공백 및 공백 값을 제거하려면 다음을 사용할 수 있습니다. filterNot() 기능 isNullOrBlank() 기능. 다음 코드는 몇 가지 다른 옵션과 함께 사용법을 보여줍니다.

 

fun main() {

    val input = listOf("A", "B", null, "", "C", "D", null, "", "E", " ")

    // 각 println 문은 [A, B, C, D, E]를 출력합니다.

    println(input.filter { it != null && !it.isBlank() })

    println(input.filterNotNull().filterNot { it.isBlank() })

    println(input.filterNotNull().filter { it.isNotBlank() })

    println(input.filterNot { it.isNullOrBlank() })

}

 

2. 사용 removeIf() 기능

위의 솔루션은 원본 목록의 복사본을 만듭니다. 다음을 사용하여 원래 목록에서 null, 빈 및 빈 값을 제자리에서 제거할 수 있습니다. removeIf() 기능. 다음 코드 예제는 일반적인 호출을 보여줍니다. removeIf() 지정된 술어를 충족하는 모든 요소를 제거하는 함수입니다.

 

fun main() {

    val input: MutableList<String?> = mutableListOf(

        "A", "B", null, "", "C", "D", null, "", "E", " "

    )

    // null 값 제거

    input.removeIf { it == null }

    println(input) // [A, B, , C, D, , E,  ]

    // 빈 값 제거

    input.removeIf { it!!.isEmpty() }

    println(input) // [A, B, C, D, E,  ]

    // 빈 값 제거

    input.removeIf { it!!.isBlank() }

    println(input) // [A, B, C, D, E]

}

 

 

결과:

[A, B, , C, D, , E, ]
[A, B, C, D, E, ]
[A, B, C, D, E]
 

 

반응형
LIST