Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mengira Frekuensi Perkataan dalam Java 8 Menggunakan Strim?

Barbara Streisand
Lepaskan: 2024-10-31 05:54:30
asal
428 orang telah melayarinya

How to Count Word Frequencies in Java 8 Using Streams?

Kiraan Frekuensi Perkataan dalam Java 8 Menggunakan Strim

Mengira kekerapan perkataan dalam senarai ialah tugas biasa dalam pemprosesan teks. Dalam Java 8, ini boleh dicapai dengan cekap menggunakan kaedah Collectors.groupingBy() dan Collectors.counting().

Untuk mencari kekerapan perkataan dalam senarai rentetan, anda boleh menggunakan langkah berikut:

  1. Panggil strim() pada senarai untuk membuat strim.
  2. Kumpulkan elemen dalam strim mengikut nilainya menggunakan Collectors.groupingBy(Function.identity()).
  3. Kira kejadian setiap perkataan menggunakan Collectors.counting().

Sebagai contoh, diberikan senarai perkataan berikut:

List<String> wordsList = Lists.newArrayList("hello", "bye", "ciao", "bye", "ciao");
Salin selepas log masuk

Anda boleh mengira kekerapan perkataan sebagai berikut:

Map<String,Long> wordFrequencies = wordsList.stream()
    .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
Salin selepas log masuk

Ini akan menghasilkan peta dengan kekerapan perkataan, dengan kuncinya ialah perkataan dan nilainya ialah bilangan kejadian. Keputusan untuk senarai yang diberikan ialah:

{ciao=2, hello=1, bye=2}
Salin selepas log masuk

Untuk mengisih peta mengikut nilai, anda boleh menggunakan LinkedHashMap dan kaedah entrySet() untuk mengumpul entri peta ke dalam strim. Kemudian, gunakan sorted() untuk mengisih entri mengikut nilai dalam tertib menurun dan Collectors.toMap() untuk mengumpulkannya ke dalam LinkedHashMap baharu:

LinkedHashMap<String, Long> countByWordSorted = wordFrequencies.entrySet()
    .stream()
    .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder()))
    .collect(Collectors.toMap(
        Map.Entry::getKey,
        Map.Entry::getValue,
        (v1, v2) -> { throw new IllegalStateException(); },
        LinkedHashMap::new
    ));
Salin selepas log masuk

Ini akan menghasilkan peta yang diisih di mana perkataan disusun mengikut kekerapan mereka.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Frekuensi Perkataan dalam Java 8 Menggunakan Strim?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan