Dans le développement Web et l'analyse de données, comprendre la fréquence des mots est crucial. Pour y parvenir, nous verrons comment compter la fréquence des mots dans une liste à l'aide de Java 8.
L'API Stream dans Java 8 fournit une solution élégante pour les mots comptage de fréquence. Pour commencer, créez une liste de mots :
ListwordsList = Lists.newArrayList("hello", "bye", "ciao", "bye", "ciao");
La logique de base consiste à regrouper les mots selon leur identité et à compter les occurrences :
Mapcollect = wordsList.stream() .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
Cela produit une carte où chaque clé est un mot unique et la valeur correspondante est sa fréquence. Le résultat doit ressembler à :
{ciao=2, hello=1, bye=2}
Comptage des valeurs entières
Si vous avez besoin de valeurs entières au lieu de valeurs longues, utilisez :
Mapcollect = wordsList.stream() .collect(Collectors.groupingBy(Function.identity(), Collectors.summingInt(e -> 1)));
Pour trier la carte en fonction des valeurs dans par ordre décroissant, utilisez :
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 ));
Cette étape renvoie un LinkedHashMap trié où les clés représentent les mots et les valeurs représentent leurs fréquences triées.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3