Metode helper dari jawaban yang diterima tidak diperlukan. Aliran dapat digunakan dengan lambda atau biasanya disingkat menggunakan Referensi Metode . Aliran memungkinkan operasi fungsional. map()
mengonversi elemen dan collect(...)
atau toArray()
membungkus aliran kembali menjadi larik atau koleksi.
Pembicaraan (video) Venkat Subramaniam menjelaskannya lebih baik dari saya.
1 Konversi List<String>
keList<Integer>
List<String> l1 = Arrays.asList("1", "2", "3");
List<Integer> r1 = l1.stream().map(Integer::parseInt).collect(Collectors.toList());
// the longer full lambda version:
List<Integer> r1 = l1.stream().map(s -> Integer.parseInt(s)).collect(Collectors.toList());
2 Ubah List<String>
menjadiint[]
int[] r2 = l1.stream().mapToInt(Integer::parseInt).toArray();
3 Konversi String[]
menjadiList<Integer>
String[] a1 = {"4", "5", "6"};
List<Integer> r3 = Stream.of(a1).map(Integer::parseInt).collect(Collectors.toList());
4 Konversi String[]
menjadiint[]
int[] r4 = Stream.of(a1).mapToInt(Integer::parseInt).toArray();
5 Konversi String[]
menjadiList<Double>
List<Double> r5 = Stream.of(a1).map(Double::parseDouble).collect(Collectors.toList());
6 (bonus) Konversi int[]
keString[]
int[] a2 = {7, 8, 9};
String[] r6 = Arrays.stream(a2).mapToObj(Integer::toString).toArray(String[]::new);
Lebih banyak variasi yang dimungkinkan tentunya.
Lihat juga versi Ideone dari contoh ini . Bisa klik garpu lalu jalankan untuk dijalankan di browser.
Lists.transform()
.