常用的三种遍历方式
1.普通的for循环遍历:适用于有索引的遍历对象
2.迭代器遍历:集合所特有的,不常用
3.增强for循环遍历:使用于数组和Collection集合,也是最简便的遍历方式
注意:这三种遍历方式中,只有1是可以对遍历时原数据作修改,2和3都是不允许在遍历时修改原数据的,只能遍历输出,仅此而已。(切记)
例题
题目:创建一个存储学生对象的集合,学生类只有姓名和年龄两个属性,创建三个学生对象,并存储到集合中,最后用三种方式遍历展示集合中存储的三个学生对象的所有信息。
import java.util.*;
public class Main {
public static void main(String[] args)
{
List<Student> l1 = new ArrayList<Student>();
Student s1 = new Student("小王",10);
Student s2 = new Student("小明",20);
Student s3 = new Student("小陈",30);
l1.add(s1);
l1.add(s2);
l1.add(s3);
//迭代器遍历输出(不常用)
Iterator<Student> it = l1.iterator();
while(it.hasNext()!=false)
{
Student s = it.next();
System.out.println(s.getName()+" "+s.getAge());
}
System.out.println("---------");
//for循环遍历输出:
for(int i=0;i<l1.size();i++)
{
Student s = l1.get(i);
System.out.println(s.getName()+" "+s.getAge());
}
System.out.println("----------");
//增强for循环遍历输出:
for(Student s:l1)
System.out.println(s.getName()+" "+s.getAge());
System.out.println("-----------");
}
}
class Student
{
public String name;
public int age;
public Student()
{}
public Student(String name, int age)
{
this.name = name;
this.age = age;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
}
运行结果:
小王 10
小明 20
小陈 30
---------
小王 10
小明 20
小陈 30
----------
小王 10
小明 20
小陈 30
-----------