Функция joinToString

Функция joinToString преобразует элементы коллекции в строку, соединяя их с помощью указанного разделителя. Поддерживает добавление префикса, суффикса, ограничение количества элементов и указание текста для замены пропущенных элементов. Работает с массивами Array, списками List, множествами Set и другими типами коллекций.

Импорт

kotlinimport kotlin.collections.joinToString

Синтаксис

kotlinfun <T> Array<out T>.joinToString(
  separator: CharSequence = ", ",
  prefix: CharSequence = "",
  postfix: CharSequence = "",
  limit: Int = -1,
  truncated: CharSequence = "...",
  transform: ((T) -> CharSequence)? = null
): String
kotlinfun <T> Iterable<T>.joinToString(
  separator: CharSequence = ", ",
  prefix: CharSequence = "",
  postfix: CharSequence = "",
  limit: Int = -1,
  truncated: CharSequence = "...",
  transform: ((T) -> CharSequence)? = null
): String

Параметры

Пример

Преобразуем список чисел в строку с разделителем по умолчанию:

kotlinval numbers = listOf(1, 2, 3, 4, 5)
val res = numbers.joinToString()
println(res)

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

kotlinString "1, 2, 3, 4, 5"

Пример

Используем пользовательский разделитель, префикс и суффикс:

kotlinval chars = arrayOf('a', 'b', 'c', 'd', 'e')
val res = chars.joinToString(
  separator = " | ",
  prefix = "[ ",
  postfix = " ]"
)
println(res)

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

kotlinString "[ a | b | c | d | e ]"

Пример

Ограничиваем количество выводимых элементов:

kotlinval set = setOf(10, 20, 30, 40, 50)
val res = set.joinToString(
  limit = 3,
  truncated = " ...and more"
)
println(res)

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

kotlinString "10, 20, 30 ...and more"

Пример

Используем функцию преобразования элементов:

kotlinval list = listOf("apple", "banana", "cherry")
val res = list.joinToString { it.uppercase() }
println(res)

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

kotlinString "APPLE, BANANA, CHERRY"

Пример

Работа с пустой коллекцией:

kotlinval emptyList = emptyList<Int>()
val res = emptyList.joinToString()
println(res)

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

kotlinString ""

Для каких типов работает

Функция joinToString доступна для следующих типов коллекций:

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

  • функцию joinTo,
    которая записывает результат в объект Appendable
  • функцию toString,
    которая преобразует коллекцию в строку в формате массива
  • функцию map,
    которая преобразует элементы коллекции перед объединением
  • функцию transform,
    которая выполняет преобразования над элементами коллекции