Trong bài viết này, mình sẽ hướng dẫn các bạn cách sử dụng Lambda Expression để foreach Map object trong Java.
OK, bắt đầu nào các bạn!
Giống như List object, phương thức forEach() cũng được thêm vào đối tượng Map từ Java 8, giúp cho chúng ta có thể nhiều cách khác để in ra các phần tử trong đối tượng này.
Ví dụ, mình có đối tượng Map như sau:
1 2 3 4 |
Map<String, String> students = new HashMap<>(); students.put("name", "Khanh"); students.put("age", "20"); students.put("dateofBirth", "24-06-1997"); |
Thông thường, mình sẽ viết code như sau:
1 2 3 |
for (Map.Entry<String, String> entry : students.entrySet()) { System.out.println(entry.getKey() + " : " + entry.getValue()); } |
Với phương thức forEach() và Lambda Expression thì lúc này code của mình sẽ đơn giản như sau:
1 |
students.forEach((k, v) -> System.out.println(k + " : " + v)); |
Tham số của phương thức forEach() trong đối tượng Map là BiConsumer, một Functional Interface.
Kết quả:
1 2 3 |
dateofBirth : 24-06-1987 name : Khanh age : 20 |