Trong bài viết ngắn này chúng ta sẽ cùng nhau tìm hiểu các method keySet(), entrySet() và values() trong Map interface. Những methods được dùng để lấy danh sách các key, value trong Map hoặc lấy cả cặp key-value với values() method.
Khởi tạo Map
Trong Java, chúng ta có một số implement của Map interface như HashMap, TreeMap và LinkedHashMap. Trong bài viết này chúng ta sẽ sử dụng HashMap để làm ví dụ.
Map<String, Integer> map = new HashMap<>(); map.put("one", 1); map.put("two", 2);
Method keySet()
Method keySet() trả về một danh sách các key chứa trong Map dưới dạng Set.
public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("one", 1); map.put("two", 2); Set<String> keys = map.keySet(); System.out.println("Length: " + keys.size()); System.out.println("Keys: " + keys); }
Output
Length: 2 Keys: [one, two]
Method entrySet()
Method entrySet() trả về danh sách các cặp key-value chứa trong Map.
public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("one", 1); map.put("two", 2); Set<Map.Entry<String, Integer>> entrySet = map.entrySet(); System.out.println("Length: " + entrySet.size()); for(Map.Entry<String, Integer> entry : entrySet) { System.out.println("Key - Value: " + entry.getKey() + " - " + entry.getValue()); } }
Entry class cung cấp 2 method getKey và getValue trả về key, value tương ứng của từng phần tử trong Map.
Output
Length: 2 Key - Value: one - 1 Key - Value: two - 2
Method values()
Nếu không quan tâm đến danh sách các key trong Map, chúng ta có thể sử dụng values() để nhận về danh sách các value chứa trong Map.
public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("one", 1); map.put("two", 2); Collection<Integer> values = map.values(); System.out.println("Length: " + values.size()); for(Integer value : values) { System.out.println("Value: " + value); } }
Output
Length: 2 Value: 1 Value: 2
Tóm lược
Như vậy là qua bài viết này chúng ta đã biết được cách sử dụng 3 method cơ bản nhất trong Map