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

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В 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(), а также пользовательский цикл. Все методы достаточно просты в использовании. Вы можете использовать любой из вышеперечисленных в зависимости от ваших потребностей и случаев использования.