集合【肆】— 增强for循环(JDK1.5以后)
介绍
JDK 1.5 新特性,增强for循环
JDK1.5版本后,出现新的接口java.lang.Iterable
Collection(根类)开始继承Iterable
Iterable作用,只为实现增强for循环
格式
for(数据类型 变量名 : 数组或者集合){
sop(变量);
}
代码
int [] arr={1,2,3,4,5};
for(int i :arr){
System.out.println(i);
}
补充:
int [] arr={1,2,3,4,5};
for(int i :arr){
System.out.println(i+1); //此时输出 个元素+1,
}
System.out.println(); //输出的原来元素,
之所以会这样,是因为集合中的元素,依次赋值给i(是没有索引的),并没有改变原来数组的值,所以才会输出原数组。
优缺点
优点: 代码少,方便对容器遍历
缺点: 没有索引,不能对容器里面的元素修改
增强for循环,同时可以调用其方法
//for 对于对象数组遍历的时候,能否调用对象的方法
String [] str = {"abc","def","ghi"};
for (String s: str){
System.out.println(s.length()); //输出每个元素的长度
}
存储自定义 Person 类型
ArrayList<Person> array = new ArrayList<>();
array.add(new Person41("小明",20));
array.add(new Person41("小明",20));
array.add(new Person41("小明",20));
array.add(new Person41("小明",20));
array.add(new Person41("小明",20));
//增强for循环, 但不能更改
for (Person p :array){
System.out.println(p);
}