@KarlRichter Pertanyaan lain tidak memberi Anda daftar yang diketik. Selain itu, pertanyaan ini berasal dari empat tahun lalu, dan memiliki jawaban dengan 300+ peningkatan. Mengapa kita mencoba menggabungkannya sekarang?
The boxedMetode mengubah intnilai-nilai primitif dari IntStreamke dalam aliran Integerobjek. Kata "tinju" menamai proses konversi int⬌ Integer. Lihat Tutorial Oracle .
@skiwi maksud saya, bahwa semua jawaban lain tidak diperlukan setelah yang ini karena mereka tidak begitu alami.
Dmitry Ginzburg
1
Terima kasih, saya belum melihat metode kemas dan itu bekerja seperti pesona.
twreid
Tambahan: Saya pikir kode ini menjadi sedikit lebih pendek, lebih jelas dan lebih cantik jika Anda menggunakan impor statis toList. Hal ini dilakukan dengan menempatkan berikut di antara impor file: static import java.util.stream.Collectors.toList;. Kemudian panggilan kumpulkan hanya berbunyi .collect(toList()).
Lii
1
Dalam Eclipse dimungkinkan untuk membuat IDE menambahkan impor statis untuk metode. Ini dilakukan dengan menambahkan Collectorskelas di Preferensi -> Java -> Editor -> Content Assist -> Favorites . Setelah ini, Anda hanya perlu mengetik toLidi tekan Ctr + Space untuk mengisi IDE toListdan menambahkan impor statis.
Lii
2
Merobek rambut saya tentang apa yang salah dengan apa yang saya coba, terima kasih telah menunjukkan boxed()bagian
K Raphael
16
Anda juga bisa menggunakan mapToObj () pada Stream, yang mengambil IntFunction dan mengembalikan Stream bernilai objek yang terdiri dari hasil penerapan fungsi yang diberikan ke elemen stream ini.
Jawaban:
IntStream::boxed
IntStream::boxed
mengubah suatuIntStream
menjadiStream<Integer>
, yang kemudian Anda bisacollect
menjadiList
:The
boxed
Metode mengubahint
nilai-nilai primitif dariIntStream
ke dalam aliranInteger
objek. Kata "tinju" menamai proses konversiint
⬌Integer
. Lihat Tutorial Oracle .sumber
toList
. Hal ini dilakukan dengan menempatkan berikut di antara impor file:static import java.util.stream.Collectors.toList;
. Kemudian panggilan kumpulkan hanya berbunyi.collect(toList())
.Collectors
kelas di Preferensi -> Java -> Editor -> Content Assist -> Favorites . Setelah ini, Anda hanya perlu mengetiktoLi
di tekan Ctr + Space untuk mengisi IDEtoList
dan menambahkan impor statis.boxed()
bagianAnda juga bisa menggunakan mapToObj () pada Stream, yang mengambil IntFunction dan mengembalikan Stream bernilai objek yang terdiri dari hasil penerapan fungsi yang diberikan ke elemen stream ini.
sumber
boxed()
delegasi.Anda dapat menggunakan koleksi primitif yang tersedia di Eclipse Collections dan menghindari tinju.
Catatan: Saya adalah kontributor untuk Eclipse Collections.
sumber
MutableIntList list = IntLists.mutable.withAll(IntStream.range(1, 5))
Temukan contoh berikut untuk menemukan kuadrat dari setiap elemen int menggunakan Java 8: -
sumber
Anda dapat menggunakan metode kumpulkan:
Faktanya, ini hampir persis dengan apa yang dilakukan Java ketika Anda memanggil .collect (Collectors.toList ()) pada aliran objek:
Catatan: Parameter ketiga hanya diperlukan jika Anda ingin menjalankan pengumpulan paralel; untuk koleksi berurutan menyediakan dua saja sudah cukup.
sumber