Функция buildSet

Функция buildSet создает новое неизменяемое множество типа Set. Внутри блока инициализации можно использовать методы mutable множества для добавления элементов. Функция возвращает готовое неизменяемое множество.

Импорт

kotlinimport kotlin.collections.buildSet

Синтаксис

kotlininline fun <T> buildSet(
  builderAction: MutableSet<T>.() -> Unit
): Set<T>

Пример

Создадим множество чисел с помощью функции buildSet:

kotlinval numbers: Set<Int> = buildSet {
  add(1)
  add(2)
  add(3)
  addAll(listOf(4, 5))
}

println(numbers)

Результат выполнения кода:

kotlinSet<Int> [1, 2, 3, 4, 5]

Пример

Создадим множество символов с проверкой условий:

kotlinval chars: Set<Char> = buildSet {
  add('a')
  add('b')
  
  if (true) {
    add('c')
  }
  
  for (i in 1..2) {
    add(('d'.code + i).toChar())
  }
}

println(chars)

Результат выполнения кода:

kotlinSet<Char> ['a', 'b', 'c', 'e', 'f']

Пример

Удаление дубликатов из списка с помощью buildSet:

kotlinval listWithDuplicates = listOf(1, 2, 2, 3, 4, 4, 5)
val uniqueNumbers: Set<Int> = buildSet {
  addAll(listWithDuplicates)
}

println(uniqueNumbers)

Результат выполнения кода:

kotlinSet<Int> [1, 2, 3, 4, 5]

Пример

Использование различных методов MutableSet внутри блока:

kotlinval resultSet: Set<String> = buildSet {
  add("first")
  add("second")
  remove("first")
  add("third")
  addAll(setOf("fourth", "fifth"))
}

println(resultSet)

Результат выполнения кода:

kotlinSet<String> ["second", "third", "fourth", "fifth"]

Смотрите также

  • функцию setOf,
    которая создает неизменяемое множество из переданных элементов
  • функцию mutableSetOf,
    которая создает изменяемое множество
  • функцию hashSetOf,
    которая создает HashSet из переданных элементов
  • функцию buildList,
    которая создает неизменяемый список с помощью builder-блока