Tukarkan Peta ke Array, List atau Set di Java

1. Gambaran keseluruhan

Ini artikel pendek akan menunjukkan bagaimana untuk menukar nilai a Peta kepada Array, yang List atau Set menggunakan Java plain serta contoh yang cepat Guava berasaskan.

Artikel ini adalah sebahagian daripada siri "Java - Back to Basic" di Baeldung.

2. Peta Nilai untuk Array

Pertama, mari kita lihat menukar nilai Peta menjadi array, menggunakan java biasa :

@Test public void givenUsingCoreJava_whenMapValuesConvertedToArray_thenCorrect() { Map sourceMap = createMap(); Collection values = sourceMap.values(); String[] targetArray = values.toArray(new String[0]); }

Perhatikan bahawa toArray (T baru [0]) adalah kaedah yang lebih disukai untuk menggunakan kaedah berbanding toArray (ukuran baru [ukuran]) . Seperti yang dibuktikan oleh Aleksey Shipilëv dalam catatan blognya, nampaknya lebih pantas, lebih selamat, dan lebih bersih.

3. Nilai Peta untuk Disenaraikan

Seterusnya, mari kita ubah nilai Peta ke Daftar - menggunakan Java biasa:

@Test public void givenUsingCoreJava_whenMapValuesConvertedToList_thenCorrect() { Map sourceMap = createMap(); List targetList = new ArrayList(sourceMap.values()); }

Dan menggunakan Jambu Batu:

@Test public void givenUsingGuava_whenMapValuesConvertedToList_thenCorrect() { Map sourceMap = createMap(); List targetList = Lists.newArrayList(sourceMap.values()); }

4. Nilai Peta untuk Tetapkan

Akhirnya, mari kita menukar nilai Peta menjadi Set, menggunakan java biasa:

@Test public void givenUsingCoreJava_whenMapValuesConvertedToS_thenCorrect() { Map sourceMap = createMap(); Set targetSet = new HashSet(sourceMap.values()); }

5. Kesimpulan

Seperti yang anda lihat, semua penukaran dapat dilakukan dengan satu baris, hanya menggunakan perpustakaan koleksi standard Java.

Pelaksanaan semua contoh dan coretan kod ini dapat dilihat di projek GitHub - ini adalah projek berasaskan Maven, jadi mudah diimport dan dijalankan sebagaimana adanya.