Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
29 Июн 2023
2 мин
2988

Подсчет количества вхождений символа в строку в Java

Очень часто в процессе работы с текстовыми данными возникает необходимость подсчитать количество вхождений определенного символа в строку. Например,

Очень часто в процессе работы с текстовыми данными возникает необходимость подсчитать количество вхождений определенного символа в строку. Например, есть строка «Hello, world!», и требуется узнать, сколько раз в ней встречается символ ‘l’.

Существует несколько способов решения этой задачи в Java. Ниже представлены два наиболее простых и популярных из них.

Разработка на Java — востребованное направление, такие специалисты будут нужны на рынке еще долго. На курсе «Java-разработчик» от Skypro освоить профессию можно с нуля за 11 месяцев, даже если вы гуманитарий и ничего не знаете об IT. Программа составлена от простого к сложному и адаптирована для новичков. Преподаватели — практикующие специалисты из крупных компаний: «Сбер», «Самокат» и других.

Способ 1: Использование метода length() класса String

Данный способ основан на использовании метода length(), который возвращает длину строки, и метода replace(), который заменяет все вхождения указанного символа в строке.

String str = "Hello, world!";
char ch = 'l';
int count = str.length() - str.replace(String.valueOf(ch), "").length();

В этом коде сначала вычисляется длина исходной строки. Затем из строки удаляются все вхождения нужного символа. Длина полученной строки вычитается из длины исходной строки, и результатом будет количество вхождений символа в строку.

Способ 2: Использование метода chars() класса String

В Java 8 был введен новый метод chars(), который возвращает поток символов строки. Этот метод можно использовать вместе с методами потоков для подсчета количества вхождений символа в строку.

String str = "Hello, world!";
char ch = 'l';
long count = str.chars().filter(c -> c == ch).count();

В этом коде метод chars() преобразует строку в поток символов. Затем с помощью метода filter() из потока выбираются только те символы, которые равны искомому. Количество таких символов подсчитывается методом count().

Освойте Java на курсе онлайн-университета Skypro. Учебе нужно будет уделять всего 10 часов в неделю: сможете совмещать с работой и личными делами. Вас ждут 440 часов теории и практики, мастер-классы с реальными рабочими задачами, опытные преподаватели, кураторы и наставники. За время обучения сделаете два полноценных проекта для портфолио и множество домашних заданий, чтобы отработать навыки.

Оба представленных способа позволяют подсчитать количество вхождений символа в строку без использования циклов. Они также демонстрируют разные подходы к решению задачи: первый метод основан на использовании классических методов класса String, второй — на использовании новых функций Java 8 для работы с потоками данных.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий