Map遍历(map.entry)结合jdk1.5for循环

本文通过MapEntryBase、MapEntry_normal、MapEntry_Origin和MapEntry_Update四个类,分别展示了使用HashMap初始化数据、传统while迭代Map.Entry、原始KeySet遍历以及JDK1.5增强for循环遍历Map的多种方法。通过对比,阐述了JDK1.5 for循环与Map.Entry遍历在代码简洁性上的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Map遍历(map.entry)结合jdk1.5for循环
文章分类:Java编程
Java代码
1.先把所有的代码都拷上来  
2. 
3.MapEntryBase.java 为了生成数据,没有用高级方法,一个for循环put进hashmap 写的非常挫,呵呵,完成功能就好  
4. 
5.package mapEntry;  
6.import java.util.HashMap;  
7.import java.util.Map;  
8.//基类初始化数据  
9.public class MapEntryBase {  
10. 
11.      
12.    public static HashMap init(){  
13.        String[] keys={"key1","key2"};  
14.        String[] values={"hello","world"};  
15.        HashMap<String,String> mapTest=new HashMap<String,String>();  
16.        for(int i=0;i<keys.length;i++){  
17.            mapTest.put(keys[i], values[i]);  
18.        }  
19.        return mapTest;  
20.    }  
21. 
22.MapEntry_normal.java   这是网上非常流行的map.entry的while遍历方法  
23. 
24.package mapEntry;  
25. 
26.import java.util.Iterator;  
27.import java.util.Map;  
28.import java.util.Set;  
29.import java.util.Map.Entry;  
30.//流行的map.entry方式  
31. 
32.public class MapEntry_normal extends MapEntryBase{  
33.    static Map mapTest;  
34.    public static void main(String argus[]){  
35.        mapTest=init();  
36.        Set entries=mapTest.entrySet();  
37.        Iterator<Map.Entry<String,String>> iEntries=entries.iterator();  
38.        while(iEntries.hasNext()){  
39.            Map.Entry<String, String> entry=iEntries.next();  
40.            System.out.println("key: "+ entry.getKey()+"value: "+entry.getValue());  
41.        }  
42.          
43.    }  
44.}  
45.   
46.}  
47. 
48. 
49.MapEntry_Origin.java 这是最初没有用map.entry时的处理方法,觉得好像就是一个方法的区别,和entry的复杂程度差不多  
50.。。。。。。  
51. 
52.package mapEntry;  
53. 
54.import java.util.Iterator;  
55.import java.util.Map;  
56.import java.util.Set;  
57.//最原始的方式  
58.public class MapEntry_Origin extends MapEntryBase{  
59.    static Map mapTest;  
60.    public static void main(String argus[]){  
61.        mapTest=init();  
62.        Set keys=mapTest.keySet();  
63.        Iterator iKeys=keys.iterator();  
64.          
65.        while(iKeys.hasNext()){  
66.              
67.            Object key=iKeys.next();  
68.            System.out.println("key: "+ key+"value: "+ mapTest.get(key));  
69.              
70.        }  
71.          
72.          
73.    }  
74.      
75.      
76.      
77.}  
78. 
79.MapEntry_Update.java 结合for循环的新特性,感觉代码少了些,感觉还不错  
80. package mapEntry;  
81. 
82.import java.util.HashMap;  
83.import java.util.Iterator;  
84.import java.util.Map;  
85.import java.util.Set;  
86.//3种结合for 循环的方式  
87.public class MapEntry_Update extends MapEntryBase{  
88.    static HashMap mapTest;  
89.    public static void main(String argus[]){  
90.        mapTest=init();  
91.          
92.        //solution 1  
93. //        for(Iterator i=mapTest.entrySet().iterator();i.hasNext();){  
94.//          Map.Entry entry=(Map.Entry)i.next();  
95.//          System.out.println("key: "+ entry.getKey()+"value: "+entry.getValue());  
96.//      }  
97.        //solution 2  
98.//      for(Object o:mapTest.entrySet()){  
99.//          Map.Entry entry=(Map.Entry)o;  
100.//          System.out.println("key: "+ entry.getKey()+"value: "+entry.getValue());  
101.//      }  
102.        //solution 3  
103.//      for(Map.Entry entry:(Set<Map.Entry>)mapTest.entrySet()){  
104.//          System.out.println("key: "+ entry.getKey()+"value: "+entry.getValue());  
105.//      }  
106.          
107.          
108.    }  
109.}  
110.   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值