Kuidas läbida kõiki väärtusi Mapis?
sobes.tech AI
Vastus AI-lt
On olemas mitu viisi, kuidas Java-s Map-i läbi käia.
-
Kasutades
entrySet(): Kõige universaalsem viis, mis tagastabSetpaari võtme-väärtus (Map.Entry). Seda saab läbida iteratori või for-each tsükliga.// Kasutades for-each koos entrySet() for (Map.Entry<String, Integer> entry : map.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); // Võtme ja väärtuse töötlemine } -
Kasutades
keySet(): TagastabSetkõigist võtmetestMap-is. Seejärel saab iga võtme kohta väärtuse saada.// Kasutades for-each koos keySet() for (String key : map.keySet()) { Integer value = map.get(key); // Võtme ja väärtuse töötlemine } -
Kasutades
values(): TagastabCollectionkõigist väärtustestMap-is. See meetod on kasulik, kui vaja on ainult väärtusi.// Kasutades for-each koos values() for (Integer value : map.values()) { // Väärtuse töötlemine } -
Kasutades iteratorit:
entrySet(),keySet()javalues()saab läbida iteratoriga.// Kasutades iteratorit koos `entrySet()`-iga Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<String, Integer> entry = iterator.next(); String key = entry.getKey(); Integer value = entry.getValue(); // Võtme ja väärtuse töötlemine } -
Kasutades Stream API-d (Java 8+): Kaasaegsem lähenemine, mis pakub võimsaid tööriistu andmete töötlemiseks.
// Läbimine kasutades forEach() ja Streami entrySet() map.entrySet().stream().forEach(entry -> { String key = entry.getKey(); Integer value = entry.getValue(); // Võtme ja väärtuse töötlemine }); // Läbimine kasutades forEach() ja Streami keySet() map.keySet().stream().forEach(key -> { Integer value = map.get(key); // Võtme ja väärtuse töötlemine });
Valik sõltub konkreetse ülesande ja eelistuste põhjal. entrySet() on sageli kõige tõhusam, kuna väldib topeltotsingut väärtuse leidmiseks võtme järgi (keySet() ja map.get()). Stream API sobib keerulisemate operatsioonide jaoks.