API Strim dalam Java 8: Cara menggunakan kelas Pengumpul untuk mengumpulkan dan statistik koleksi
Pengenalan:
Di Java 8, API Aliran diperkenalkan, iaitu konsep pengaturcaraan berfungsi yang membolehkan kami menggunakannya dengan lebih cekap Mengendalikan data pengumpulan dengan cara yang ringkas dan elegan. Stream API menyediakan fungsi yang kaya, salah satunya ialah mengumpulkan dan mengira koleksi. Artikel ini akan memperkenalkan cara menggunakan kelas Pengumpul untuk mencapai fungsi ini.
Kod sampel adalah seperti berikut:
class Person { private String name; private String gender; private int age; public Person(String name, String gender, int age) { this.name = name; this.gender = gender; this.age = age; } public String getName() { return name; } public String getGender() { return gender; } public int getAge() { return age; } } List<Person> persons = Arrays.asList( new Person("John", "male", 20), new Person("Jane", "female", 25), new Person("Tom", "male", 30), new Person("Emily", "female", 35) ); Map<String, List<Person>> groupedByGender = persons.stream() .collect(Collectors.groupingBy(Person::getGender)); System.out.println(groupedByGender);
Hasil output ialah:
{female=[Person{name='Jane', gender='female', age=25}, Person{name='Emily', gender='female', age=35}], male=[Person{name='John', gender='male', age=20}, Person{name='Tom', gender='male', age=30}]}
Dalam kod di atas, kami mula-mula mencipta kelas Orang sebagai contoh, yang mengandungi atribut nama, jantina dan umur. Kemudian koleksi Senarai objek Orang dicipta. Seterusnya, tukar koleksi kepada aliran melalui kaedah stream(). Akhir sekali, gunakan kaedah groupBy() kelas Pengumpul untuk mengumpulkan mengikut atribut jantina objek Orang, dan hasilnya disimpan dalam koleksi Peta.
Kod sampel adalah seperti berikut:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); int sum = numbers.stream().collect(Collectors.summingInt(Integer::intValue)); double average = numbers.stream().collect(Collectors.averagingInt(Integer::intValue)); long count = numbers.stream().collect(Collectors.counting()); System.out.println("Sum: " + sum); System.out.println("Average: " + average); System.out.println("Count: " + count);
Hasil output ialah:
Sum: 15 Average: 3.0 Count: 5
Dalam kod di atas, kami mula-mula membuat Senarai jenis Integer, yang mengandungi satu siri nombor. Seterusnya, kaedah summingInt() digunakan untuk mengira jumlah, kaedah averagingInt() digunakan untuk mengira purata, dan kaedah mengira() digunakan untuk mengira nombor. Akhirnya, keputusan diperoleh melalui kaedah collect() kelas Collectors.
Ringkasan:
Dengan kelas Stream API dan Pengumpul di Java 8, kami boleh melaksanakan operasi pengumpulan dan statistik pada koleksi dengan cara yang lebih ringkas dan elegan. Ciri ini bukan sahaja meningkatkan kebolehbacaan kod, tetapi juga meningkatkan fleksibiliti program.
Di atas ialah pengenalan artikel ini kepada pengumpulan koleksi dan statistik kelas API Stream dan Pengumpul di Java 8. Saya harap ia akan membantu anda. Terima kasih!
Atas ialah kandungan terperinci API Strim dalam Java 8: Cara menggunakan kelas Pengumpul untuk pengumpulan dan statistik koleksi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!