Чӣ гуна метавон ҳама арзишҳоро дар Map гузаронд?
sobes.tech AI
Ҷавоб аз AI
Исти чанд роҳҳои барои итерировать кардани Map дар Java вуҷуд дорад.
-
Истифодаи
entrySet(): Самти универсалӣ, баргардонданиSetаз ҷуфтҳои калид-арзиш (Map.Entry). Мумкин аст бо истифода аз итератор ё цикл for-each гузаронида шавад.// Истифодаи for-each бо entrySet() for (Map.Entry<String, Integer> entry : map.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); // Коркарди калид ва арзиш } -
Истифодаи
keySet(): БаргардонданиSetаз ҳамаи калидҳо дарMap. Баъдан метавон арзишро барои ҳар як калид гирифт.// Истифодаи for-each бо keySet() for (String key : map.keySet()) { Integer value = map.get(key); // Коркарди калид ва арзиш } -
Истифодаи
values(): БаргардонданиCollectionаз ҳамаи арзишҳо дарMap. Ин усул барои вақте ки танҳо арзишҳо лозиманд, муфид аст.// Истифодаи for-each бо values() for (Integer value : map.values()) { // Коркарди арзиш } -
Истифодаи итератор: Барои
entrySet(),keySet()ваvalues()метавон итератор истифода бурд.// Истифодаи итератор бо 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(); // Коркарди калид ва арзиш } -
Истифодаи Stream API (Java 8+): Равиши муосир, ки воситаҳои қавӣ барои коркарди маълумот медиҳад.
// Истифодаи forEach() ва Stream entrySet() map.entrySet().stream().forEach(entry -> { String key = entry.getKey(); Integer value = entry.getValue(); // Коркарди калид ва арзиш }); // Истифодаи forEach() ва Stream keySet() map.keySet().stream().forEach(key -> { Integer value = map.get(key); // Коркарди калид ва арзиш });
Интихоби усул вобаста ба вазифаи мушаххас ва афзалиятҳо мебошад. entrySet() аксар вақт самараноктар аст, зеро аз ҷустуҷӯи дукаратаи арзиш дар асоси калид (мисли бо keySet() ва map.get()) пешгирӣ мекунад. Stream API барои амалиёти мураккабтар мувофиқ аст.