Map集合几种遍历方式的性能比较

Map作为java中十分常用的集合,我们对集合元素的遍历方式要十分熟悉。

首先构造一个 HashMap 集合:

HashMap<string,object> map = new HashMap<>();
map.put("A","1");
map.put("B","2");
map.put("C","3");
1. 分别获取 key 集合和 value 集合
 //1、分别获取key和value的集合
 for(String key : map.keySet()){
     System.out.println(key);
 }
 for(Object value : map.values()){
    System.out.println(value);
 }
2. 获取 key 集合,然后遍历key集合,根据key分别得到相应value
 //2、获取key集合,然后遍历key,根据key得到 value
 Set keySet = map.keySet();
 for(String str : keySet){
     System.out.println(str+"-"+map.get(str));
 }
3. 得到 Entry 集合,然后遍历 Entry
 //3、得到 Entry 集合,然后遍历 Entry
 Set<map.entry<string,object>> entrySet = map.entrySet();
 for(Map.Entry<string,object> entry : entrySet){
     System.out.println(entry.getKey()+"-"+entry.getValue());
 }
4. 迭代
 //4、迭代
 Iterator<map.entry<string,object>> iterator = map.entrySet().iterator();
 while(iterator.hasNext()){
     Map.Entry<string,object> mapEntry = iterator.next();
     System.out.println(mapEntry.getKey()+"-"+mapEntry.getValue());
 }
总结

基本上使用第三种方法是性能最好的,第一种遍历方法在我们只需要 key 集合或者只需要 value 集合时使用;第二种方法效率很低,不推荐使用;第四种方法效率也挺好,关键是在遍历的过程中我们可以对集合中的元素进行删除。

本文地址:https://www.linuxprobe.com/methods-map-set.html

 

posted @ 2021-01-30 07:58  linux-123  阅读(146)  评论(0编辑  收藏  举报