Computer >> Máy Tính >  >> Lập trình >> Java

Các cách khác nhau để lặp lại thông qua một bản đồ trong Java

Vòng qua Bản đồ trong Java. Trong bài đăng này, chúng ta xem xét bốn cách khác nhau mà chúng ta có thể lặp lại qua một bản đồ trong Java. Kể từ Java 8, chúng ta có thể sử dụng phương thức forEach cũng như lớp trình vòng lặp để lặp qua bản đồ.

Cách Lặp lại các Mục nhập Bản đồ (Khóa và Giá trị)

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

Cách Chỉ Lặp lại Các Khóa Bản đồ

Map<Integer, Integer> map = new HashMap<Integer, Integer>();

for (Integer key : map.keySet()) {
    System.out.println("Key = " + key);
}

Cách Chỉ Lặp lại Giá trị Bản đồ

for (Integer value : map.values()) {
    System.out.println("Value = " + value);
}

Có liên quan:

  • Cách lặp qua ArrayLists trong Java

Sử dụng Iterator

Sử dụng Generics:

Map<Integer, Integer> map = new HashMap<Integer, Integer>();
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 có 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);
}

Lặp lại các khóa và tìm kiếm các giá trị

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

Sử 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));