Частота символов в Java-строках

JavaBeginner
Практиковаться сейчас

Введение

В Java класс String предоставляет несколько методов, которые можно использовать для нахождения частоты символов. Методы replace(), chars() и пользовательский цикл можно использовать для нахождения количества вхождений символа в строке. В этом лабораторном задании мы будем использовать эти методы для подсчета количества вхождений символа в строку Java.

Создайте Java-файл

Создайте новый Java-файл с именем CharOccurrence.java в каталоге ~/project и откройте его в текстовом редакторе.

cd ~/project
touch CharOccurrence.java

Использование метода replace()

В этом шаге мы используем метод replace() для определения количества вхождений символа в строке.

public class CharOccurrence {
 public static void main(String[] args){
  String str = "abracadabra-banana";
  System.out.println(str);
  // count occurrence
  int count = str.length() - str.replace("a", "").length();
  System.out.println("occurrence of a: "+count);
 }
}

Сохраните и закройте файл. Скомпилируйте Java-программу с помощью следующей команды:

javac CharOccurrence.java

Запустите Java-программу с помощью следующей команды:

java CharOccurrence

Использование методов chars() и filter() в Java 8

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

public class CharOccurrence {
 public static void main(String[] args){
  String str = "abracadabra-banana";
  System.out.println(str);
  // count occurrence
  long count = str.chars().filter(ch -> ch == 'a').count();
  System.out.println("occurrence of a: "+count);
 }
}

Сохраните и закройте файл. Скомпилируйте Java-программу с помощью следующей команды:

javac CharOccurrence.java

Запустите Java-программу с помощью следующей команды:

java CharOccurrence

Использование пользовательского цикла

Это традиционное решение для нахождения количества символов в строке. Здесь мы используем цикл для обхода каждого символа строки и сравниваем символы с помощью метода charAt(), который возвращает символ, находящийся по указанному индексу, и в конце подсчитываем, совпадает ли символ с искомым символом.

public class CharOccurrence {
 public static void main(String[] args){
  String str = "abracadabra-banana";
  System.out.println(str);
  // count occurrence
  int count = 0;
     for (int i=0; i < str.length(); i++)
     {
         if (str.charAt(i) == 'a')
         {
              count++;
         }
     }
  System.out.println("occurrence of a: "+count);
 }
}

Сохраните и закройте файл. Скомпилируйте Java-программу с помощью следующей команды:

javac CharOccurrence.java

Запустите Java-программу с помощью следующей команды:

java CharOccurrence

Резюме

В этом практическом занятии мы изучили три различных метода для подсчета количества вхождений символа в Java-строку. Мы использовали методы replace(), chars() и filter(), а также пользовательский цикл. Все методы достаточно просты в использовании. Вы можете использовать любой из вышеперечисленных в зависимости от ваших потребностей и случаев использования.