Ինչպես անցնել բոլոր արժեքներով Map-ով?
sobes.tech AI
Պատասխան AI-ից
Java-յի մեջ կան մի քանի եղանակներ Map-ի վրա օտարելու համար:
-
Օգտագործել
entrySet(): Ամենահամապատասխան միջոցը, վերադարձնում էSetկնիք-արժեք զույգերի (Map.Entry). Կարող եք անցնել դրա միջոցով օգտագործելով ինդեքսատոր կամ for-each ցիկլ:// Օգտագործում `entrySet()`-ի հետ for-each for (Map.Entry<String, Integer> entry : map.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); // Կառավարում կնիք և արժեք } -
Օգտագործել
keySet(): Վերադարձնում էSetբոլոր կնիքներիMap-ում: Այնուհետև կարող եք ստանալ արժեքը յուրաքանչյուր կնիքի համար:// Օգտագործում `keySet()`-ի հետ for-each for (String key : map.keySet()) { Integer value = map.get(key); // Կառավարում կնիք և արժեք } -
Օգտագործել
values(): Վերադարձնում էCollectionբոլոր արժեքներիMap-ում: Այս միջոցը օգտակար է, երբ անհրաժեշտ են միայն արժեքները:// Օգտագործում `values()`-ի հետ for-each 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-ն հարմար է ավելի բարդ գործողությունների համար: