前言:java的集合框架细节阐述我们这里就不赘述了,可参考Java - 集合框架完全解析,这里只总结java集合的常见遍历方法,每种遍历方法有对象的例子供参考
1.遍历List、Set
List和Set是Collection的子接口,他们的遍历方法可归为一类,看例子
//List/Set创建
List myList =new ArrayList<>();
for(int i =0;i <5;i++){
myList.add("第"+ i +"个元素对象");
}
//使用foreach规范遍历list
for(String ele : myList){
System.out.println(ele);
}
结果如图
List/Set遍历结果说明:我们这里只说常用的,至于还有用迭代器的遍历方法,我们不推荐,想要了解的朋友可以直接查阅相关资料。
2.遍历map
map的遍历很讲究技巧,方法也有好几种,看例子
//map创建
Map myMap =newHashMap<>();
myMap.put(11,"zhao");
myMap.put(12,"qian");
myMap.put(13,"sun");
myMap.put(14,"li");
myMap.put(15,"wang");
//1.遍历map中的key
for(Integer key : myMap.keySet()){
System.out.println("Key = "+ key);
}
//2.遍历map中的value
for(String value : myMap.values()){
System.out.println("Value = "+ value);
}
//3.遍历map中的entry
for(Map.Entry<Integer, String> entry : myMap.entrySet()){
System.out.println("Key = "+ entry.getKey() +", Value = "+ entry.getValue());
}
结果如图
map遍历结果说明:同样,迭代器的遍历方法这里也不多说。对比map的这三个遍历方法,我们可以看出每个方法有自己的好处,如果程序中需要用到key值,方法一明显更优,如果程序中需要用到value值,方法二明显更优,如果两个值都要用到,就用方法三。这里估计有朋友会说,通过方法一同样可以取到value值,为什么要用方法三?是的没错,方法一是可以获取到value值,但是我们不推荐遍历的时候通过key值获取value值,因为这个操作是耗时的,如果遍历的集合数据很多,这种操作就会影响性能。。。
注:以上内容是我个人学习后的分享,如果有错误,请各位指出,也欢迎大家前来拍砖,灰常感谢!
网友评论