先把所有的代码都拷上来
MapEntryBase.java 为了生成数据,没有用高级方法,一个for循环put进hashmap 写的非常挫,呵呵,完成功能就好
package mapEntry;
import java.util.HashMap;
import java.util.Map;
//基类初始化数据
public class MapEntryBase {
public static HashMap init(){
String[] keys={"key1","key2"};
String[] values={"hello","world"};
HashMap<String,String> mapTest=new HashMap<String,String>();
for(int i=0;i<keys.length;i++){
mapTest.put(keys[i], values[i]);
}
return mapTest;
}
MapEntry_normal.java 这是网上非常流行的map.entry的while遍历方法
package mapEntry;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
//流行的map.entry方式
public class MapEntry_normal extends MapEntryBase{
static Map mapTest;
public static void main(String argus[]){
mapTest=init();
Set entries=mapTest.entrySet();
Iterator<Map.Entry<String,String>> iEntries=entries.iterator();
while(iEntries.hasNext()){
Map.Entry<String, String> entry=iEntries.next();
System.out.println("key: "+ entry.getKey()+"value: "+entry.getValue());
}
}
}
}
MapEntry_Origin.java 这是最初没有用map.entry时的处理方法,觉得好像就是一个方法的区别,和entry的复杂程度差不多
。。。。。。
package mapEntry;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
//最原始的方式
public class MapEntry_Origin extends MapEntryBase{
static Map mapTest;
public static void main(String argus[]){
mapTest=init();
Set keys=mapTest.keySet();
Iterator iKeys=keys.iterator();
while(iKeys.hasNext()){
Object key=iKeys.next();
System.out.println("key: "+ key+"value: "+ mapTest.get(key));
}
}
}
MapEntry_Update.java 结合for循环的新特性,感觉代码少了些,感觉还不错
package mapEntry;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
//3种结合for 循环的方式
public class MapEntry_Update extends MapEntryBase{
static HashMap mapTest;
public static void main(String argus[]){
mapTest=init();
//solution 1
// for(Iterator i=mapTest.entrySet().iterator();i.hasNext();){
// Map.Entry entry=(Map.Entry)i.next();
// System.out.println("key: "+ entry.getKey()+"value: "+entry.getValue());
// }
//solution 2
// for(Object o:mapTest.entrySet()){
// Map.Entry entry=(Map.Entry)o;
// System.out.println("key: "+ entry.getKey()+"value: "+entry.getValue());
// }
//solution 3
// for(Map.Entry entry:(Set<Map.Entry>)mapTest.entrySet()){
// System.out.println("key: "+ entry.getKey()+"value: "+entry.getValue());
// }
}
}
方法1 是新特性的for循环没啥看点, 方法2 和3 感觉比较不错,就是写起来比较痛苦,呵呵,欢迎拍砖
Map遍历(map.entry)结合jdk1.5for循环
最新推荐文章于 2023-01-13 14:07:06 发布