Frequência de Caracteres em Strings Java

JavaBeginner
Pratique Agora

Introdução

Em Java, a classe String oferece diversos métodos que podem ser utilizados para encontrar a frequência de caracteres. O método replace(), o método chars() e loops personalizados podem ser usados para encontrar a ocorrência de um caractere em uma String Java. Neste laboratório, usaremos esses métodos para contar a ocorrência de um caractere em uma String Java.

Criar um arquivo Java

Crie um novo arquivo Java chamado CharOccurrence.java no diretório ~/project e abra-o em um editor de texto.

cd ~/project
touch CharOccurrence.java

Usando o método replace()

Nesta etapa, estamos usando o método replace() para encontrar a contagem de um caractere na string.

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);
 }
}

Salve e feche o arquivo. Compile o programa Java com o seguinte comando:

javac CharOccurrence.java

Execute o programa Java com o seguinte comando:

java CharOccurrence

Usando os métodos chars() e filter() em Java 8

Nesta etapa, estamos usando o método chars(), que retorna um fluxo de caracteres, e então usando o método filter() para obter todos os caracteres especificados presentes na string. O método count() é usado para obter a contagem do fluxo filtrado.

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);
 }
}

Salve e feche o arquivo. Compile o programa Java com o seguinte comando:

javac CharOccurrence.java

Execute o programa Java com o seguinte comando:

java CharOccurrence

Usando um loop personalizado

Esta é uma solução convencional para encontrar a contagem de um caractere na string. Aqui, estamos usando um loop para percorrer cada caractere da string e comparando o caractere usando o método charAt(), que retorna um caractere presente no índice especificado, e finalmente contando se um caractere corresponde ao caractere desejado.

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);
 }
}

Salve e feche o arquivo. Compile o programa Java com o seguinte comando:

javac CharOccurrence.java

Execute o programa Java com o seguinte comando:

java CharOccurrence

Resumo

Neste laboratório, aprendemos três métodos diferentes para contar a ocorrência de um caractere em uma string Java. Usamos os métodos replace(), chars() e filter(), e um loop personalizado. Todos os métodos são bastante fáceis de usar. Você pode usar qualquer um dos acima de acordo com sua conveniência e caso de uso.