首先構造一個 HashMap 集合:
1 HashMap<String,Object> map = new HashMap<>(); 2 map.put("A","1"); 3 map.put("B","2"); 4 map.put("C","3");
①、分別獲取 key 集合和 value 集合。
1 //1、分別獲取key和value的集合 2 for(String key : map.keySet()){ 3 System.out.println(key); 4 } 5 for(Object value : map.values()){ 6 System.out.println(value); 7 }
②、獲取 key 集合,然后遍歷key集合,根據key分別得到相應value
1 //2、獲取key集合,然后遍歷key,根據key得到 value 2 Set<String> keySet = map.keySet(); 3 for(String str : keySet){ 4 System.out.println(str+"-"+map.get(str)); 5 }
③、得到 Entry 集合,然后遍歷 Entry
1 //3、得到 Entry 集合,然后遍歷 Entry 2 Set<Map.Entry<String,Object>> entrySet = map.entrySet(); 3 for(Map.Entry<String,Object> entry : entrySet){ 4 System.out.println(entry.getKey()+"-"+entry.getValue()); 5 }
④、迭代
1 //4、迭代 2 Iterator<Map.Entry<String,Object>> iterator = map.entrySet().iterator(); 3 while(iterator.hasNext()){ 4 Map.Entry<String,Object> mapEntry = iterator.next(); 5 System.out.println(mapEntry.getKey()+"-"+mapEntry.getValue()); 6 }
基本上使用第三種方法是性能最好的,
第一種遍歷方法在我們只需要 key 集合或者只需要 value 集合時使用;
第二種方法效率很低,不推薦使用;
第四種方法效率也挺好,關鍵是在遍歷的過程中我們可以對集合中的元素進行刪除。