웹 개발 및 데이터 분석에서는 단어 빈도를 이해하는 것이 중요합니다. 이를 달성하기 위해 Java 8을 사용하여 목록에서 단어의 빈도를 계산하는 방법을 살펴보겠습니다.
Java 8의 Stream API는 단어에 대한 우아한 솔루션을 제공합니다. 빈도 계산. 시작하려면 다음과 같이 단어 목록을 만듭니다.
ListwordsList = Lists.newArrayList("hello", "bye", "ciao", "bye", "ciao");
핵심 논리에는 ID별로 단어를 그룹화하고 발생 횟수를 계산하는 작업이 포함됩니다.
Mapcollect = wordsList.stream() .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
이것은 각 키가 고유한 단어이고 해당 값이 빈도인 맵을 생성합니다. 출력은 다음과 유사해야 합니다.
{ciao=2, hello=1, bye=2}
정수 값 계산
정수 값이 필요한 경우 긴 값 대신 다음을 사용하세요:
Mapcollect = wordsList.stream() .collect(Collectors.groupingBy(Function.identity(), Collectors.summingInt(e -> 1)));
값을 기준으로 지도를 정렬하려면 내림차순, 사용:
LinkedHashMapcountByWordSorted = 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을 반환합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3