От автора code.mu: РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
505 of 1310 menu

Функция joinToString

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

Импорт

import kotlin.collections.joinToString

Синтаксис

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

Параметры

  • separator - разделитель между элементами (по умолчанию ", ")
  • prefix - строка, добавляемая в начало результата
  • postfix - строка, добавляемая в конец результата
  • limit - максимальное количество отображаемых элементов
  • truncated - строка, указывающая на обрезание элементов
  • transform - функция преобразования элементов перед объединением

Пример

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

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

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

String "1, 2, 3, 4, 5"

Пример

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

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

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

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

Пример

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

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

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

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

Пример

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

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

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

String "APPLE, BANANA, CHERRY"

Пример

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

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

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

String ""

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

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

  • Array - массивы любого типа
  • List - списки
  • Set - множества
  • Iterable - любые итерируемые коллекции
  • Sequence - последовательности
  • CharArray, IntArray, DoubleArray и другие примитивные массивы

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

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