map.entry
遍历Map时,一般会用到两种方法
Map.entrySet()
Map.keySet()
首先这两种方法返回的都是Set集合,
区别在于,第一种集合里是 Map.entry (会有key-value的键值对)类型的对象;
而第二种集合里是String对象(假设创建Map时key值是String类型的)。
下面上代码看一下:
public class testforcycle {
public static void main(String[] args) {
HashMap<String, Object> hs = new HashMap();
hs.put("a", 1);
hs.put("b", 2);
System.out.println("foreach0");
foreach0(hs);
System.out.println("foreach1");
foreach1(hs);
System.out.println("foreach2");
foreach2(hs);
System.out.println("foreach3");
foreach3(hs);
}
//entrySet 一般写法,建立迭代器
public static void foreach0(HashMap<String, Object> hs){
for(Iterator it = hs.entrySet().iterator();it.hasNext();){
System.out.println(it.next());
}
}
//entrySet 简便写法,本质也是创建迭代器,跟第一种相同
public static void foreach1(HashMap<String, Object> hs){
for(Entry<String, Object> a:hs.entrySet()){
System.out.println(a.getClass());
System.out.println(a);
}
}
// keySet 简便写法
public static void foreach2(HashMap<String, Object> hs){
for(String a:hs.keySet()){
System.out.println(a);
}
}
//keySet foreach2的完整写法
public static void foreach3(HashMap<String, Object> hs){
for(Iterator it=hs.keySet().iterator();it.hasNext();){
System.out.println(it.next());
}
}
}
foreach0
a=1
b=2
foreach1
class java.util.HashMap$Node
a=1
class java.util.HashMap$Node
b=2
foreach2
a
b
foreach3
a
b
说明:
foreach0 和 foreach1 都是取按照 entrySet 方式取的,结果就是键值对,类型也是 java.util.HashMap$Node ,是Entry的一种实现类。
foreach2 和 foreach3 是keyset的,返回结果是String类型的,之后就可以用这个key值来取map的value进行处理了。
相关阅读
一个网站的关键词排名最快的应该是做竞争推广,但是这种方式需要的成本会比较高。而自然排名的关键词优化则是相对成本比较少的。不
安装完Ubuntu系统之后,面临的最主要的一个问题就是将apt安装源进行更新,因为在国内直接利用Ubuntu默认的安装源下载安装包速度慢,并
淘宝野生小伙伴是淘宝推出的一款小游戏,在野生小伙伴这个游戏中,大家可以和支付宝的蚂蚁庄园一样和好友进行互动,而如果要互动那么两
Win7 应用程序无法正常启动(0xc000000d)的解决方法
自从重装了WIN7系统后,VS2010编译出来的项目程序就不能正常启动,启动的时候总是提示 “应用程序无法正常启动(0xc000000d)。请单击‘
Excel中经常需要使用到匹配公式进行匹配数据,匹配公式具体该如何使用呢?接下来是seo实验室小编为大家带来的excel表格匹配公式的用