Penjelasan hari ini terutama untuk menggunakan berbagai cara untuk mengimplementasikan hashmap traversal untuk mengambil kunci dan nilai. Pertama -tama, jika Anda ingin koleksi dapat digunakan untuk peningkatan untuk mengimplementasikan iterasi di Java, maka antarmuka atau kelas ini harus mengimplementasikan antarmuka Iterable. Lalu bagaimana Iterable Implement iteration tidak akan dijelaskan di sini. Berikut ini terutama akan menjelaskan proses traversal.
// Tentukan peta koleksi generik <string, string> map = new HashMap <string, string> (); // Tambahkan data ke koleksi melalui metode peta put map.put ("001", "liu bei"); Map.put ("002", "Cao Cao"); Map.put ("003", "Sun Quan");Metode 1: Gunakan metode kunci antarmuka peta untuk mengimplementasikannya
PERTANYAAN: Kita semua tahu bahwa antarmuka peta tidak mengimplementasikan antarmuka iterable, jadi mengapa dapat mengulang dengan metode ketetnya?
Analisis: Karena metode Keyset mengembalikan tampilan set dari kunci yang terkandung dalam peta ini, metode ini benar -benar dapat mengembalikan upaya yang ditetapkan, yang berarti jenis nilai pengembaliannya adalah antarmuka yang ditetapkan. Kita dapat melihat melalui dokumen API bahwa antarmuka yang ditetapkan mengimplementasikan antarmuka iterable, sehingga dapat mencapai iterasi.
// Memanggil metode Keyset untuk mengembalikan tipe antarmuka yang ditetapkan set <string> set = map.keyset (); // gunakan untuk peningkatan untuk mendapatkan kunci dan nilai untuk (item string: set) {System.out.println ("Kunci adalah:" + item + "; nilai nilai adalah:" + map.get (item)); }Metode 2: Gunakan metode nilai antarmuka peta untuk diimplementasikan (untuk peningkatan)
Demikian pula: Saat memanggil metode nilai antarmuka peta, ia mengembalikan upaya koleksi, dan ketika antarmuka koleksi diimplementasikan, iterable, sehingga dapat diulang.
Koleksi <string> con = map.values (); untuk (item string: con) {System.out.println ("Nilai nilai adalah:" + item); }Metode 3: Gunakan metode entryset antarmuka peta untuk diimplementasikan (untuk peningkatan)
Entryset: Nilai pengembalian entryset () juga mengembalikan koleksi set. Jenis koleksi ini adalah peta.Entry. Map.entry adalah antarmuka internal yang dinyatakan oleh peta. Antarmuka ini bersifat generik dan didefinisikan sebagai entri <k, v>. Ini mewakili suatu entitas di peta (pasangan nilai kunci).
Set <entri <string, string >> setEntry = map.entryset (); untuk (entri <string, string> item: setEntry) {System.out.println ("Key adalah:" + item.getKey () + "; nilai nilai adalah:" + item.getValue ()); }Metode 4: Gunakan keyset (). Iterable () (saat loop) dari antarmuka peta
Iterable (): Mengembalikan iterator yang berulang pada elemen dalam set ini. Elemen yang dikembalikan tidak memiliki pesanan khusus (kecuali set ini adalah instance dari kelas yang memberikan jaminan pesanan). Jenis Nilai Pengembalian Iterator <E>
Iterator <string> it = map.keyset (). Iterator (); // return true jika masih ada elemen yang dapat diulang. while (it.hasnext ()) {// Dapatkan tombol nilai tombol Key = it.next (); System.out.println ("Kunci adalah:" + key + "; nilai adalah:" + map.get (key)); } Metode 5: Gunakan value.iteritable () dari antarmuka peta (saat loop)
Iterator <string> it1 = map.values (). Iterator (); while (it1.hasnext ()) {string value = it1.next (); System.out.println ("Nilai nilai adalah:" + nilai); } Metode 6: Gunakan Entryset (). Iterable () (saat loop) dari antarmuka peta
Iterator <entry <string, string >> it2 = map.entryset (). Iterator (); while (it2.hasnext ()) {entri <string, string> entri = it2.next (); System.out.println ("Kunci adalah:" + entri.getKey () + "; nilai nilai adalah:" + entri.getValue ()); }Artikel di atas menggunakan berbagai metode untuk melintasi hashmap. Ini semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.