웹 개발 및 데이터 분석에서는 단어 빈도를 이해하는 것이 중요합니다. 이를 달성하기 위해 Java 8을 사용하여 목록에서 단어의 빈도를 계산하는 방법을 살펴보겠습니다.
Java 8의 Stream API는 단어에 대한 우아한 솔루션을 제공합니다. 빈도 계산. 시작하려면 단어 목록을 만듭니다.
List<String> wordsList = Lists.newArrayList("hello", "bye", "ciao", "bye", "ciao");
핵심 논리에는 단어를 ID별로 그룹화하고 발생 횟수를 계산하는 작업이 포함됩니다.
Map<String, Long> collect = wordsList.stream() .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
이렇게 하면 각 키가 있는 맵이 생성됩니다. 고유한 단어이며 해당 값은 빈도입니다. 출력은 다음과 유사해야 합니다.
{ciao=2, hello=1, bye=2}
정수 값 계산
긴 값 대신 정수 값이 필요한 경우 다음을 사용하세요.
Map<String, Integer> collect = wordsList.stream() .collect(Collectors.groupingBy(Function.identity(), Collectors.summingInt(e -> 1)));
값을 기준으로 지도를 내림차순으로 정렬하려면 다음을 사용하세요.
LinkedHashMap<String, Long> countByWordSorted = collect.entrySet() .stream() .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) .collect(Collectors.toMap( Map.Entry::getKey, Map.Entry::getValue, (v1, v2) -> { throw new IllegalStateException(); }, LinkedHashMap::new ));
이 단계에서는 키가 단어를 나타내고 값이 나타내는 정렬된 LinkedHashMap이 반환됩니다. 주파수를 정렬했습니다.
위 내용은 Java 8을 사용하여 목록에서 단어 빈도를 효율적으로 계산하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!