Функция 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и другие примитивные массивы