인 Yogesh :
난 그냥 코 틀린 시작하고 실험하는 동안, 나는이 발견 :
fun main(args: Array<String>) {
val list: MutableList<Int> = mutableListOf(1, 2, 3, 4, 5)
list.removeAll { x -> x in 1..3 }
과
list.removeIf { x -> x in 1..3 }
}
그들 모두 동일한 출력 결과
4
5
나는에서 removeAll가 코 틀린와 removeIf 자바하지만에서 removeAll가 removeIf 이미있을 때이 왜 이해하지 못하는 것을 이해하지만? 그리고 사실 우리는 어떤 번거 로움없이 코 틀린에 removeIf를 사용할 수있다. 또는 다른 이상을해야 할 수도 있습니다 모든 사용 사례가 있습니까?
의 Damián 라파엘 Lattenero :
들은 아주 다양한 기능하지만, 코 틀린 상기 방법은 그것의 함수의 인수의 두 가지 유형을 가지고 의미 과부하.
당신이 문서를 읽는다면, 당신은 당신이 컬렉션을 제공함으로써이 기능을 사용할 수 있습니다 볼 수 있습니다 :
fun <T> MutableCollection<out T>.removeAll(
elements: Collection<T>
): Boolean (source)
또는 필터 기능을 제공합니다 :
fun <T> MutableIterable<T>.removeAll(
predicate: (T) -> Boolean
): Boolean (source)
그래서, 두 번째는 removeIf의 Java 버전처럼, 처음은 아니다.