НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
571 of 1310 menu

Функция chars

Функция chars возвращает IntStream, содержащий кодовые точки Unicode каждого символа в текущем объекте StringBuilder. Поток можно использовать для дальнейшей обработки символов с помощью операций стримов.

Синтаксис

fun chars(): IntStream

Пример

Получим поток кодовых точек из StringBuilder и преобразуем его в массив:

val sb = StringBuilder("abcde") val stream: IntStream = sb.chars() val codes: IntArray = stream.toArray() println(codes.contentToString())

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

IntArray [97, 98, 99, 100, 101]

Пример

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

val sb = StringBuilder("a1b2c3") val digits = sb.chars() .filter { it in 48..57 } .toArray() println(digits.contentToString())

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

IntArray [49, 50, 51]

Пример

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

val sb = StringBuilder("hello") val chars = sb.chars() .mapToObj { it.toChar() } .collect(Collectors.toList()) println(chars)

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

List<Char> ['h', 'e', 'l', 'l', 'o']

Пример

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

val sb = StringBuilder("Hello WORLD") val upperCaseCount = sb.chars() .filter { Character.isUpperCase(it) } .count() println(upperCaseCount)

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

Long 2

Примечания

Функция chars возвращает поток примитивных целых чисел int, которые представляют кодовые точки Unicode символов в строке. Для работы с потоком необходимо импортировать java.util.stream.IntStream.

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

  • функцию codePoints,
    которая возвращает поток кодовых точек Unicode
  • функцию get,
    которая возвращает символ по указанному индексу
  • функцию subSequence,
    которая возвращает подпоследовательность символов
  • функцию toCharArray,
    которая преобразует StringBuilder в массив символов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить