增强for:简化数组和Collenction集合的遍历
- 实现Iterable接口的类允许其对象成为增强型for语句的目标
- 它是JDK5之后出现的,其内部原理是一个Iteractor迭代器
- 简单方便
增强for的格式
- 格式:
for(元素数据类型 变量名:数组或者Collection集合){
//在此处使用变量即可,该变量就是元素
}
范例:
int[] arr = {1,2,3,4,5};
for(int i:arr){
System.out.println(i);
}
输出:
1
2
3
4
5
练习:List集合存储学生对象,并用三种方式遍历
需求:创建一个存储学生对象发集合,存储3个学生对象,使用程序实现在控制台遍历该集合
学生类:
public class Student {
private String name;
private int age;
public Student(){}
public Student(String name,int age){
this.name = name;
this.age = age;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
}
Demo:
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
public class Demo {
public static void main(String[] args) {
//创建List集合
List<Student> list = new ArrayList<Student>();
//创建学生对象
Student s1 = new Student("张三",18);
Student s2 = new Student("李四",19);
Student s3 = new Student("王五",20);
//把学生添加到集合
list.add(s1);
list.add(s2);
list.add(s3);
//遍历集合
//方法一:迭代器Iterator
Iterator<Student> it = list.iterator();
while(it.hasNext()){
Student s = it.next();
System.out.println(s.getName()+","+s.getAge());
}
System.out.println("----------------");
//方法二:普通for
for(int i = 0;i < list.size();i++){
Student s = list.get(i);
System.out.println(s.getName()+","+s.getAge());
}
System.out.println("----------------");
//方法三:增强for
for(Student s:list){
System.out.println(s.getName()+","+s.getAge());
}
}
}