Java 문자열 내 문자 빈도수

JavaBeginner
지금 연습하기

소개

Java 에서 String 클래스는 문자 빈도를 찾는 데 사용할 수 있는 여러 메서드를 제공합니다. replace() 메서드, chars() 메서드 및 사용자 정의 루프를 사용하여 문자열에서 문자의 발생 횟수를 찾을 수 있습니다. 이 Lab 에서는 이러한 메서드를 사용하여 Java String 에서 문자의 발생 횟수를 계산합니다.

Java 파일 생성

~/project 디렉토리에 CharOccurrence.java라는 새 Java 파일을 생성하고 텍스트 편집기에서 엽니다.

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

Java 8 에서 chars() 및 filter() 메서드 사용

이 단계에서는 문자 스트림을 반환하는 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() 메서드와 사용자 정의 루프를 사용했습니다. 모든 방법은 사용하기 매우 쉽습니다. 편의성과 사용 사례에 따라 위 방법 중 하나를 사용할 수 있습니다.