foreach有两个缺点:
1、不能同时遍历多个集合
2、在遍历的时候无法修改和删除集合数据
优点:
1、遍历的时候更加简洁(特别是遍历Map集合的时候
2、效率和for循环相同
3、不用关心集合下标的问题。减少了出错的概率。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ForEachTest {
public static void main(String[] args) {
List<String> list = Arrays.asList("苹果","西瓜","香蕉","梨","橙子");
List<String> list2 = new ArrayList<String>();
//如果添加成功的话
if(list2.addAll(list)){
//没有办法同时访问两个集合
for (String fruit : list2) {
System.out.println(fruit);
}
System.out.println("------------------");
for (String fruit : list) {
System.out.println(fruit);
}
System.out.println("------------------");
//取最小的集合尺寸做遍历
for(int index = 0 ; index < (list2.size() < list.size()? list2.size():list.size());++index){
System.out.println(list.get(index));
System.out.println(list2.get(index));
}
for(int index = 0 ; index < list.size();++index){
list.set(index, "list"+list.get(index));
System.out.println(list.get(index));
}
}
}
}