Bagaimana untuk melangkah ke peta di Java?
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.
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.

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:

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.

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

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Adeadlockinjaoccurswhentwoormorethreadsareblockedforever, eachwaitingforaresourceHeldByTheother, biasanyaduetoculularwaitcausedbyinconsistentlockordering;

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

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

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

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

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

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]](https://img.php.cn/upload/article/001/431/639/175597664176545.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Ifleagueoflegendssettingsaren'tsaving, trythesesteps: 1.runthegameasadministrator.2.grantfullfolderpermissionstotheleagueof LegendsDirectory.3.Editandensuregame.cfgisn'tread-only.4.disableCloudsyncforthegamefolder.5.RepairthegameviAveAveAtheriotClient.
