setOf

주어진 요소들로 새로운 read-only 셋을 만든다.

fun <T> setOf(vararg elements: T): Set<T>

val set1 = setOf(1, 2, 3)
val set2 = setOf(3, 2, 1)

// setOf preserves the iteration order of elements
println(set1) // [1, 2, 3]
println(set2) // [3, 2, 1]

// but the sets with the same elements are equal no matter of order
println("set1 == set2 is ${set1 == set2}") // true

Functions


addAll

주어진 elements collection의 모든 요소들을 MutableCollection에 추가한다.

fun <T> MutableCollection<in T>.addAll(
	elements: Iterable<T>
): Boolean

fun <T> MutableCollection<in T>.addAll(
	elements: Sequence<T>
): Boolean

fun <T> MutableCollection<in T>.addAll(
	elements: Array<out T>
): Boolean

aggregate

val numbers = listOf(3, 4, 5, 6, 7, 8, 9)

val aggregated = numbers.groupingBy { it % 3 }.aggregate { key, accumulator: StringBuilder?, element, first ->
    if (first) // first element
    StringBuilder().append(key).append(":").append(element)
    else
    accumulator!!.append("-").append(element)
}

println(aggregated.values) // [0:3-6-9, 1:4-7, 2:5-8]

joinToString

컬렉션의 모든 요소를 지정한 구분자(seperator)를 사용하여 하나의 문자열로 결합한다.

val list = listOf(1, 2, 3, 4)
val result = list.joinToString(", ") { "Number: $it" }
println(result) // Number: 1, Number: 2, Number: 3, Number: 4

zip

두 컬렉션을 결합하여 pair로 만든 새로운 컬렉션을 반환한다. 각 페어는 두 컬렉션의 같은 인덱스에 있는 요소들로 구성된다.