>  기사  >  Java  >  Java를 사용하여 문자열의 문자 빈도를 효율적으로 계산하는 방법은 무엇입니까?

Java를 사용하여 문자열의 문자 빈도를 효율적으로 계산하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-02 12:34:30924검색

How to Efficiently Count Character Frequencies in a String Using Java?

문자열의 문자 빈도

문자열에서 각 문자의 빈도를 결정하는 것은 일반적인 프로그래밍 작업입니다. 이러한 맥락에서 Java Map 및 Multiset 접근 방식과 관련된 솔루션이 설명됩니다.

Java Map 접근 방식

각 문자를 키로 사용하고 개수를 다음으로 계산하는 맵을 생성합니다. 값이 있는 경우 다음 단계를 사용할 수 있습니다.

  1. 빈 HashMap 개체를 초기화합니다.
  2. 문자열을 문자별로 반복합니다.
  3. 다음과 같은지 확인하세요. 현재 문자는 이미 맵의 키입니다.

    • 그렇다면 기존 값을 1씩 늘립니다.
    • 아니면 값이 1인 키로 문자를 추가합니다. .

예:

<code class="java">Map<Character, Integer> map = new HashMap<>();
String s = "aasjjikkk";
for (int i = 0; i < s.length(); i++) {
    char c = s.charAt(i);
    Integer val = map.get(c);
    if (val != null) {
        map.put(c, val + 1);
    } else {
        map.put(c, 1);
    }
}

다중 집합 접근 방식

또는 Guava Multiset 구현을 활용하면 문자 발생 횟수를 효율적으로 계산할 수 있습니다. 다중 집합을 사용하면 요소의 여러 인스턴스를 저장하고 해당 개수를 자동으로 추적할 수 있습니다.

예:

<code class="java">Multiset<Character> multiset = HashMultiset.create();
String s = "aasjjikkk";
for (char c : s.toCharArray()) {
    multiset.add(c);
}</code>

다중 집합 개체에는 문자 개수가 해당 값으로 포함됩니다.

두 가지 접근 방식을 모두 효과적으로 사용하면 문자열의 각 문자 빈도를 확인할 수 있으므로 특정 요구 사항에 따라 유연성과 성능 최적화를 제공할 수 있습니다.

위 내용은 Java를 사용하여 문자열의 문자 빈도를 효율적으로 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.