Map-də bütün dəyərləri necə dövr etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da Map üzərində təkrarlamağın bir neçə yolu var.
-
entrySet()istifadə edərək: Ən çevik üsul,Map.EntrycütlüklərininSet-ini qaytarır. Həm iterator, həm də for-each dövrü ilə keçilə bilər.// `entrySet()` ilə for-each istifadə for (Map.Entry<String, Integer> entry : map.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); // Açar və dəyəri emal et } -
keySet()istifadə edərək: Bütün açarlarınSet-ini qaytarır. Sonra hər açar üçün dəyəri əldə etmək olar.// `keySet()` ilə for-each istifadə for (String key : map.keySet()) { Integer value = map.get(key); // Açar və dəyəri emal et } -
values()istifadə edərək: Bütün dəyərlərinCollection-ını qaytarır. Bu üsul yalnız dəyərlər lazım olduqda faydalıdır.// `values()` ilə for-each istifadə for (Integer value : map.values()) { // Dəyəri emal et } -
İterator istifadə edərək:
entrySet(),keySet()vəvalues()üçün iterator istifadə etmək olar.// `entrySet()` ilə iterator istifadə 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(); // Açar və dəyəri emal et } -
Stream API istifadə edərək (Java 8+): Daha müasir yanaşma, güclü vasitələr təqdim edir.
// `entrySet()` ilə forEach() və Stream istifadə map.entrySet().stream().forEach(entry -> { String key = entry.getKey(); Integer value = entry.getValue(); // Açar və dəyəri emal et }); // `keySet()` ilə forEach() və Stream istifadə map.keySet().stream().forEach(key -> { Integer value = map.get(key); // Açar və dəyəri emal et });
Yöntəm seçimi konkret tapşırıq və üstünlüklərə bağlıdır. entrySet() çox vaxt ən səmərəlidir, çünki açar ilə dəyərin iki dəfə axtarışını (məsələn, keySet() və map.get() ilə) qarşısını alır. Stream API isə daha mürəkkəb əməliyyatlar üçün əlverişlidir.