Kaip pereiti per visas reikšmes Map?
Atsakymas iš AI
sobes.tech AI
Yra keletas būdų pereiti per Map Java kalboje.
-
Naudojant
entrySet(): Labiausiai universalus būdas, grąžinaSetporų raktas-vertė (Map.Entry). Jį galima pereiti naudojant iteratorių arba for-each ciklą.// Naudojant for-each su entrySet() for (Map.Entry<String, Integer> entry : map.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); // Raktų ir reikšmių apdorojimas } -
Naudojant
keySet(): GrąžinaSetvisų raktųMap. Tada galima gauti reikšmę pagal kiekvieną raktą.// Naudojant for-each su keySet() for (String key : map.keySet()) { Integer value = map.get(key); // Raktų ir reikšmių apdorojimas } -
Naudojant
values(): GrąžinaCollectionvisų reikšmiųMap. Šis būdas naudingas, kai reikalingos tik reikšmės.// Naudojant for-each su values() for (Integer value : map.values()) { // Reikšmės apdorojimas } -
Naudojant iteratorių:
entrySet(),keySet()irvalues()galima naudoti iteratorių.// Naudojant iteratorių su entrySet() 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(); // Raktų ir reikšmių apdorojimas } -
Naudojant Stream API (Java 8+): Modernus būdas, siūlo galingus įrankius duomenų apdorojimui.
// Pereiti naudojant forEach() ir Stream entrySet() map.entrySet().stream().forEach(entry -> { String key = entry.getKey(); Integer value = entry.getValue(); // Raktų ir reikšmių apdorojimas }); // Pereiti naudojant forEach() ir Stream keySet() map.keySet().stream().forEach(key -> { Integer value = map.get(key); // Raktų ir reikšmių apdorojimas });
Pasirinkimas priklauso nuo konkrečios užduoties ir pageidavimų. entrySet() dažnai yra efektyviausias, nes išvengia dvigubo paieškos vertės pagal raktą (kaip keySet() ir map.get()). Stream API yra patogus sudėtingesnėms operacijoms.