foreach遍利顺序问题

前言:

经常用foreach进行遍历数据,那么作为JDK1.5新增foreach遍历的顺序怎样的呢?

代码测试:

看以下代码,测试list有序集合foreach循环

1 ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1); 2 list.add(2); 3 list.add(3); 4 list.add(4); 5 list.add(5); 6 System.out.println(list); 7 for (Integer i : list) { 8 System.out.print(i); 9 }

结果:

[1, 2, 3, 4, 5]
12345

说明 有续集合foreach遍历是按照集合储存的顺序遍历的


那么无序集合是怎样的,我们以hashSet为例:

 

HashSet<String> set = new HashSet<String>();
set.add("num1");
set.add("axc");
set.add("gfr");
set.add("wer");
set.add("2354");
System.out.println(set);
for (String i : set) {
    System.out.println(i);
}

结果:
[gfr, wer, 2354, num1, axc]
gfr wer 2354 num1 axc 

 

这里面存储是无序的,但是foreach遍历出来的数据还是按照直接输出集合的顺序输出

总结:

foreach使用方便,在写代码中可以经常使用。但也要注意,遍历过程中删除数据会报ConcurrentModificationException。

 

posted on 2018-06-06 14:41  随风1992  阅读(12163)  评论(0编辑  收藏  举报

导航