Fungsi IntStream dalam Java ialah antara muka berfungsi yang baru diperkenalkan dalam Java 8. Ia boleh melakukan operasi penstriman pada data jenis integer, termasuk penapisan, pemetaan, pengumpulan dan operasi lain. Artikel ini akan memperkenalkan cara menggunakan fungsi IntStream untuk operasi strim berangka.
1. Pengenalan kepada fungsi IntStream
IntStream ialah antara muka berfungsi dalam Java, yang mewakili aliran elemen yang jenis asasnya ialah int. Ia mewarisi antara muka Strim dan menambah kaedah untuk int jenis asas.
Kaedah dalam IntStream terbahagi terutamanya kepada empat kategori berikut:
IntStream intStream = IntStream.range(1, 10);
IntStream intStream = IntStream.of(1, 3, 5, 7, 9);Selepas mencipta strim, kami boleh menggunakan operasi perantaraan untuk penukaran. Sebagai contoh, kita boleh menggunakan kaedah peta untuk mendarab setiap elemen:
IntStream intStream = IntStream.iterate(1, n -> n + 2).limit(5); intStream.forEach(System.out::println);//1 3 5 7 9Kita juga boleh menggunakan kaedah penapis untuk menapis elemen yang memenuhi syarat:
IntStream intStream = IntStream.range(1, 10); intStream.map(n -> n * 2).forEach(System.out::println);//2 4 6 8 10 12 14 16 18Selepas menyelesaikan operasi perantaraan, kita boleh menggunakan operasi penamatan untuk menyelesaikan statistik, pengumpulan dan operasi lain. Sebagai contoh, kita boleh menggunakan kaedah jumlah untuk menjumlahkan strim:
IntStream intStream = IntStream.range(1, 10); intStream.filter(n -> n % 2 == 0).forEach(System.out::println);//2 4 6 8Kita juga boleh menggunakan kaedah toArray untuk menukar elemen dalam strim kepada tatasusunan:
IntStream intStream = IntStream.range(1, 10); int sum = intStream.filter(n -> n % 2 == 0).sum(); System.out.println(sum);//203. Penggunaan lanjutan fungsi IntStream IntStream mempunyai penggunaan yang lebih maju, seperti flatMap, reduce, collect dan kaedah lain. Penggunaan kaedah ini diperkenalkan di bawah.
kaedah flatMap
Kaedah flatMap boleh memetakan setiap elemen aliran kepada aliran, dan kemudian menggabungkan aliran kecil ini menjadi satu aliran besar. Sebagai contoh, kita boleh menggunakan kaedah flatMap untuk menukar setiap nombor kepada rentetan yang sepadan, dan kemudian menggabungkan rentetan ini menjadi strim:IntStream intStream = IntStream.range(1, 10); int[] arr = intStream.filter(n -> n % 2 == 0).toArray(); System.out.println(Arrays.toString(arr));//[2, 4, 6, 8]
IntStream intStream = IntStream.range(1, 5); Stream<String> stream = intStream.flatMap(n -> Stream.of(String.valueOf(n))); stream.forEach(System.out::println);//"1" "2" "3" "4"
IntStream intStream = IntStream.range(1, 5); int sum = intStream.reduce(0, (a, b) -> a + b); System.out.println(sum);//10IV Ringkasan
Atas ialah kandungan terperinci Cara menggunakan fungsi IntStream dalam Java untuk operasi aliran berangka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!