Jadual Kandungan
Berulang melalui kemasukan peta
Hanya kunci atau nilai melintasi
Berulang melalui semua kunci
Melewati semua nilai
Foreach menggunakan Java 8 (sederhana tetapi sedikit berbeza)
Nota dan Pertimbangan Prestasi
Rumah Java javaTutorial Bagaimana untuk melangkah ke peta di Java?

Bagaimana untuk melangkah ke peta di Java?

Jul 13, 2025 am 02:54 AM
java Lelaran peta

Terdapat tiga kaedah biasa untuk melintasi peta di Java: 1. Gunakan entriSet untuk mendapatkan kunci dan nilai pada masa yang sama, yang sesuai untuk kebanyakan senario; 2. Gunakan kekunci atau nilai untuk melintasi kekunci atau nilai masing -masing; 3. Gunakan Java 8 Foreach untuk memudahkan struktur kod. EntrySet mengembalikan koleksi set yang mengandungi semua pasangan nilai utama, dan setiap gelung mendapat objek peta. Jika hanya kunci atau nilai yang diperlukan, kunci () atau nilai () boleh dipanggil masing -masing, atau nilai boleh diperolehi melalui map.get (kunci) apabila melintasi kunci; Java 8 boleh menggunakan Foreach ((Key, Value) -> {}) melalui ungkapan Lambda untuk menjadikan kod lebih ringkas, sesuai untuk gaya kod moden, dan intinya adalah berdasarkan pelaksanaan entrySet. Nota termasuk mengelakkan pengubahsuaian MAP semasa traversal (kecuali pengalihan iterator), gangguan hashmap, dan entrySet mengatasi pelbagai get () panggilan dalam prestasi.

Bagaimana untuk melangkah ke peta di Java?

Ia adalah operasi yang sangat biasa untuk melintasi peta di Java, terutama ketika berurusan dengan pasangan data nilai utama. Anda boleh memilih kaedah yang berbeza mengikut keperluan yang berbeza. Berikut ini memperkenalkan beberapa kaedah yang biasa digunakan, yang sesuai untuk digunakan dalam senario yang berbeza.

Bagaimana untuk melangkah ke peta di Java?

Berulang melalui kemasukan peta

Ini adalah cara yang paling biasa dan disyorkan untuk memenuhi kebanyakan senario di mana kunci dan nilai diperlukan pada masa yang sama.

 Peta <string, integer> map = hashmap baru <> ();
peta.put ("Apple", 1);
peta.put ("pisang", 2);

untuk (Map.Entry <String, Integer> entry: Map.EntrySet ()) {
    System.out.println ("Kunci:" entry.getKey () ", nilai:" entry.getValue ());
}
  • entrySet() Mengembalikan koleksi set yang mengandungi semua pasangan nilai utama
  • Setiap gelung mendapat objek Map.Entry
  • Sekiranya anda perlu mengakses kekunci dan nilai dengan kerap, kaedah ini lebih cekap

Hanya kunci atau nilai melintasi

Sekiranya anda hanya perlu melelehkan kunci atau hanya nilai, anda boleh menggunakan kaedah keySet() atau values() masing -masing:

Bagaimana untuk melangkah ke peta di Java?

Berulang melalui semua kunci

 untuk (kunci rentetan: map.keyset ()) {
    System.out.println ("Key:" Key);
}
  • Sesuai untuk anda apabila anda hanya memerlukan kunci
  • Sekiranya anda ingin mendapatkan nilai melalui kunci, anda juga boleh menghubungi map.get(key) di dalamnya

Melewati semua nilai

 untuk (nilai integer: map.values ()) {
    System.out.println ("nilai:" nilai);
}
  • Sesuai untuk situasi di mana anda hanya mengambil berat tentang nilai
  • Anda tidak perlu tahu apa kunci yang sepadan

Foreach menggunakan Java 8 (sederhana tetapi sedikit berbeza)

Selepas Java 8 memperkenalkan ekspresi lambda, anda boleh melintasi peta dengan cara yang lebih ringkas:

 Map.Foreach ((Key, Value) -> System.out.println ("Key:" Key ", Nilai:" Nilai));
  • Lebih ringkas dan sesuai untuk projek dengan gaya kod moden
  • Pada dasarnya, ia masih berdasarkan pelaksanaan entrySet
  • Sekiranya anda perlu menulis logik pelbagai baris, anda boleh membungkus blok kod dengan pendakap keriting {} di lambda

Nota dan Pertimbangan Prestasi

  • Jangan mengubah suai peta semasa traversal : seperti mengeluarkan atau menambah unsur -unsur, melainkan jika anda menggunakan kaedah pengalihan iterator, ia boleh membuang ConcurrentModificationException
  • HashMap tidak teratur : Jika pesanan penting, pertimbangkan untuk menggunakan LinkedHashMap
  • EntrySet melakukan lebih baik : Apabila anda memerlukan kunci dan nilai, ia sedikit lebih cepat daripada memanggil get() beberapa kali

Pada asasnya, dalam pembangunan sebenar, kaedah yang sesuai boleh dipilih mengikut keperluan khusus. EntrySet adalah pilihan yang paling umum, sementara Foreach membuat kod lebih ringkas, bergantung pada cara anda memilih.

Bagaimana untuk melangkah ke peta di Java?

Atas ialah kandungan terperinci Bagaimana untuk melangkah ke peta di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah kebuntuan di Java dan bagaimana anda boleh menghalangnya? Apakah kebuntuan di Java dan bagaimana anda boleh menghalangnya? Aug 23, 2025 pm 12:55 PM

Adeadlockinjaoccurswhentwoormorethreadsareblockedforever, eachwaitingforaresourceHeldByTheother, biasanyaduetoculularwaitcausedbyinconsistentlockordering;

Bagaimana cara menggunakan pilihan di Java? Bagaimana cara menggunakan pilihan di Java? Aug 22, 2025 am 10:27 AM

UseOptional.empty (), optional.of (), andOptional.ofnullable () tOcreateOptionalInStancesDependingOnwhethetheValueisabsent, non-null, orpossiblynull.2.CheckForvalUessafelySpresent () orprefeAdoShoDoD.

Java Kegigihan dengan Data Spring JPA dan Hibernate Java Kegigihan dengan Data Spring JPA dan Hibernate Aug 22, 2025 am 07:52 AM

Inti springdatajpa dan hibernate yang bekerja bersama adalah: 1. JPA adalah spesifikasi dan hibernate adalah pelaksanaan, SpringDatajpa enkapsulasi memudahkan pembangunan DAO; 2. Kelas entiti Peta pangkalan data pangkalan data melalui @Entity, @id, @column, dan sebagainya; 3. Antara muka repositori mewarisi JParepository untuk melaksanakan kaedah pertanyaan CRUD dan dinamakan secara automatik; 4. Pertanyaan Kompleks Gunakan @Query Anotation untuk menyokong JPQL atau SQL asli; 5. Dalam springboot, integrasi disiapkan dengan menambah kebergantungan starter dan mengkonfigurasi sumber data dan atribut JPA; 6. Urus niaga dibuat oleh @transactiona

Membina aplikasi java awan-asli dengan micronaut Membina aplikasi java awan-asli dengan micronaut Aug 20, 2025 am 01:53 AM

Micronautisidealforbuildingcloud-nativaapplicationsduetoitslowmemoryfootprint, fastStartuptimes, dan kompilasi-timedependencyinjection, makeitsuperiortotraditionalframeworkslikespringbootformicroservices, dan

Senibina Kriptografi Java (JCA) untuk pengekodan selamat Senibina Kriptografi Java (JCA) untuk pengekodan selamat Aug 23, 2025 pm 01:20 PM

Memahami komponen teras JCA seperti MessageDigest, Cipher, KeyGenerator, SecureRandom, Signature, Keystore, dan lain -lain, yang melaksanakan algoritma melalui mekanisme penyedia; 2. Gunakan algoritma dan parameter yang kuat seperti SHA-256/SHA-512, AES (Kunci 256-bit, mod GCM), RSA (2048-bit atau ke atas) dan SecureRandom; 3. Elakkan kunci berkod keras, gunakan KeyStore untuk menguruskan kunci, dan menjana kunci melalui kata laluan yang diperoleh dengan selamat seperti PBKDF2; 4. Lumpuhkan mod ECB, mengamalkan mod penyulitan pengesahan seperti GCM, menggunakan IV rawak yang unik untuk setiap penyulitan, dan yang sensitif yang jelas pada waktunya

Tetap: Windows menunjukkan 'Keistimewaan yang diperlukan tidak dipegang oleh pelanggan' Tetap: Windows menunjukkan 'Keistimewaan yang diperlukan tidak dipegang oleh pelanggan' Aug 20, 2025 pm 12:02 PM

RuntheapplicationorcommandasAdministratorbyright-clickingandselecting"Runasadministrator"toensureelevatedprivilegesaregranted.2.CheckUserAccountControl(UAC)settingsbysearchingforUACintheStartmenuandsettingtheslidertothedefaultlevel(secondfr

Bagaimana cara menggunakan corak dan kelas matcher di Java? Bagaimana cara menggunakan corak dan kelas matcher di Java? Aug 22, 2025 am 09:57 AM

Kelas corak digunakan untuk menyusun ungkapan biasa, dan kelas Matcher digunakan untuk melakukan operasi yang sepadan pada rentetan. Gabungan kedua -duanya dapat merealisasikan carian teks, padanan dan penggantian; Mula -mula buat objek corak melalui corak.comPile (), dan kemudian panggil kaedah pencocokannya () untuk menghasilkan contoh yang sepadan. Kemudian gunakan perlawanan () untuk menilai pemadanan rentetan penuh, cari () untuk mencari berikutnya, menggantikan () atau penggantiFirst () untuk penggantian. Jika biasa mengandungi kumpulan penangkapan, kandungan kumpulan nth boleh diperolehi melalui kumpulan (n). Dalam aplikasi sebenar, anda harus mengelakkan corak penyusunan berulang, memberi perhatian kepada watak khas yang melarikan diri, dan menggunakan bendera corak yang sepadan seperti yang diperlukan, dan akhirnya mencapai cekap

Tetapan permainan lol tidak menyimpan selepas ditutup [tetap] Tetapan permainan lol tidak menyimpan selepas ditutup [tetap] Aug 24, 2025 am 03:17 AM

Ifleagueoflegendssettingsaren'tsaving, trythesesteps: 1.runthegameasadministrator.2.grantfullfolderpermissionstotheleagueof LegendsDirectory.3.Editandensuregame.cfgisn'tread-only.4.disableCloudsyncforthegamefolder.5.RepairthegameviAveAveAtheriotClient.

See all articles