Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Làm chủ duyệt Map trong Java: 4 kỹ thuật đã được chứng minh

Duyệt qua Map trong Java. Bài viết này trình bày 4 cách khác nhau để lặp qua Map. Từ Java 8, có thể dùng forEach và iterator.

Duyệt các entry (Key và Value) của Map

Map<Integer, Integer> map = new HashMap<>();
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}

Chỉ duyệt Key của Map

Map<Integer, Integer> map = new HashMap<>();
for (Integer key : map.keySet()) {
    System.out.println("Key = " + key);
}

Chỉ duyệt Value của Map

for (Integer value : map.values()) {
    System.out.println("Value = " + value);
}
  • Cách duyệt ArrayList trong Java

Duyệt với Iterator

Có Generics:

Map<Integer, Integer> map = new HashMap<>();
Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();
while (entries.hasNext()) {
    Map.Entry<Integer, Integer> entry = entries.next();
    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}

Không Generics:

Map map = new HashMap();
Iterator entries = map.entrySet().iterator();
while (entries.hasNext()) {
    Map.Entry entry = (Map.Entry) entries.next();
    Integer key = (Integer) entry.getKey();
    Integer value = (Integer) entry.getValue();
    System.out.println("Key = " + key + ", Value = " + value);
}

Duyệt key và tìm value tương ứng

Map<Integer, Integer> map = new HashMap<>();
for (Integer key : map.keySet()) {
    Integer value = map.get(key);
    System.out.println("Key = " + key + ", Value = " + value);
}

Dùng Java 8 ForEach

Map<String, Integer> items = new HashMap<>();
items.put("key 1", 1);
items.put("key 2", 2);
items.put("key 3", 3);
items.forEach((k, v) -> System.out.println("Item: " + k + " Count: " + v));