Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengira Kejadian Perkataan dalam Senarai menggunakan `groupBy` dan `Collectors.counting()` dalam Java?

Bagaimana untuk Mengira Kejadian Perkataan dalam Senarai menggunakan `groupBy` dan `Collectors.counting()` dalam Java?

Linda Hamilton
Linda Hamiltonasal
2024-11-17 20:56:02387semak imbas

How to Count Word Occurrences in a List using `groupBy` and `Collectors.counting()` in Java?

Mengira Kejadian Menggunakan groupBy

Satu teknik untuk mengkategorikan dan meringkaskan data dalam strim ialah menggunakan kaedah groupBy. Dengan memanfaatkan groupBy, kami boleh mengasingkan elemen berdasarkan cirinya dan menjalankan operasi pada kumpulan yang terhasil.

Dalam senario tertentu anda, anda berusaha untuk memastikan kekerapan perkataan dalam senarai yang diberikan. Satu pendekatan yang cekap ialah menggabungkan groupBy dengan Collectors.counting(). Teknik ini membolehkan anda mengumpulkan objek dengan atribut yang serupa dan menentukan bilangan kejadian dalam setiap kumpulan.

Sebagai contoh, diberikan senarai input:

List<String> list = Arrays.asList("Hello", "Hello", "World");

Anda boleh mendapatkan semula peta dengan kiraan perkataan seperti berikut:

import java.util.*;
import java.util.stream.*;

class Test {
    public static void main(String[] args) {
        Map<String, Long> wordToFrequency = list.stream()
            .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));

        System.out.println(wordToFrequency);
    }
}

Peta yang terhasil ialah:

{Hello=2, World=1}

Di mana setiap kunci mewakili perkataan yang unik dan nilai yang sepadan menunjukkan kiraan penampilannya dalam senarai.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Kejadian Perkataan dalam Senarai menggunakan `groupBy` dan `Collectors.counting()` dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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