概述
List集合
总结:1.利用get(indexof)使用普通for循环遍历;2.使用增强for循环进行遍历(低层用iterator实现的);3.使用iterator进行遍历
- 使用iterator遍历ArrayList的时候,遍历顺序是按照数组下标从小到大依次遍历
- 使用iterator遍历LinkedList的时候,遍历顺序是按照链表结构从头到尾依次遍历
- 使用普通for循环进行遍历
for (int i = 0; i < list.size(); i++) {
ObjectName s = (ObjectName)list.get(i);
System.out.println(s.getx()+" "+s.getxx()+" "+s.getxxx());
}
- 使用增强for循环进行遍历
for (ObjectName s : list) {
System.out.println(s.getx()+" "+s.getxx()+" "+s.getxxx());
}
- 使用iterator进行遍历
Iterator<ObjectName> iter = list.iterator();
while (iter.hasNext()) {
ObjectName s = (ObjectName) iter.next();
System.out.println(s.getx()+" "+s.getxx()+" "+s.getxxx());
}
Set集合
总结:1. 使用增强for;2. 使用iterator进行遍历。(注意不能用普通for进行遍历,因为set集合没有顺序概念,所以没有get(indexof)方法)
- 使用iterator遍历TreeSet时,遍历顺序是树的中序遍历(即按照元素从小到大依次遍历)
- 使用iterator遍历HashSet时,遍历顺序是:按照数组下标从小到大进入桶内,如果桶是红黑树结构则按照树的中序遍历输出,如果桶是链表则按照从头到尾的顺序遍历。
- 使用增强for循环遍历(低层还是用iterator实现的)
for (Object obj : stuSet) {
StudentDemo sDemo = (StudentDemo)obj;
System.out.println("姓名:"+sDemo.getStuName()+"-学号:"+
sDemo.getStuId()+"-成绩:"+sDemo.getStuGrade());
}
- 使用iterator进行遍历
Iterator iterator = stuSet.iterator();
while (iterator.hasNext()) {
StudentDemo stuIt = (StudentDemo)iterator.next();
System.out.println("姓名:"+stuIt.getStuName()+"-学号:"+
stuIt.getStuId()+"-成绩:"+stuIt.getStuGrade());
}
Map集合
总结:
- 使用增强for循环遍历。利用Map 的 entrySet()方法获取元素
- 使用增强for循环单独遍历key或者value。利用Map的keySet()方法获取键的集合;或者利用Map 的values()方法获取值的集合
- 使用增强for循环利用get(key)遍历。先利用Map的keySet()方法获取键的集合,遍历键集合的时候利用Map的get(key)方法获取其对应的值
- 使用iterator遍历
iterator遍历顺序和上述Set遍历顺序一样。
- 使用增强for循环遍历。利用Map 的 entrySet()方法获取元素
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
System.out.println("Key = " + entry.getKey() +
", Value = " + entry.getValue());
}
- 使用增强for循环单独遍历key或者value
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
//遍历map中的键
for (Integer key : map.keySet()) {
System.out.println("Key = " + key);
}
//遍历map中的值
for (Integer value : map.values()) {
System.out.println("Value = " + value);
}
- 使用增强for循环利用get(key)遍历
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (Integer key : map.keySet()) {
Integer value = map.get(key);
System.out.println("Key = " + key + ", Value = " + value);
}
- 使用iterator遍历
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry<Integer, Integer> entry = entries.next();
System.out.println("Key = " + entry.getKey() +
", Value = " + entry.getValue());
}
最后
以上就是明理小白菜为你收集整理的java集合遍历方式&&iterator遍历顺序的全部内容,希望文章能够帮你解决java集合遍历方式&&iterator遍历顺序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复