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。

猜你喜欢

转载自www.cnblogs.com/caoxs/p/9145023.html