package com.peihua.cn.test1.Test;
public class Student {
private String name;
private int age;
private String Xxingbie;
public Student() {
}
public Student(String name, int age, String xxingbie) {
this.name = name;
this.age = age;
Xxingbie = xxingbie;
}
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;
}
public String getXxingbie() {
return Xxingbie;
}
public void setXxingbie(String xxingbie) {
Xxingbie = xxingbie;
}
} package com.peihua.cn.test1.Test;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDmo {
public static void main(String[] args) {
// 创建学生集合对象,通过多态的向上转型,COLLEXTION是单列集合的父类,arraylist是子类
Collection<Student> xx = new ArrayList<Student>();
// 创建学生对象
Student s1 = new Student("小燕子", 18, "女");
Student s2 = new Student("小李子", 19, "男");
Student s3 = new Student("小猴子", 18, "男");
// 通过collection集合add(添加)方法,添加到collection集合中
xx.add(s1);
xx.add(s2);
xx.add(s3);
// 创建集合迭代器,迭代器,集合的专用遍历方式,通过集合的iterator()方法得到集合中的元素
Iterator<Student> it = xx.iterator();
// 使用while循环,对集合中的元素是否存在进行判断(使用hasNext()方法的返回值结果true或false作为判断条件),
// 在通过next()方法(返回迭代中的下一个元素)进行遍历,向下寻找,如果元素为空,判断结束,循环终止,程序结束
// 在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,
// 继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。
// 在调用Iterator的next方法之前,迭代器的索引位于第一个元素之前,不指向任何元素,当第一次调用迭代器的next方法后
// 迭代器的索引会向后移动一位,指向第一个元素并将该元素返回,当再次调用next方法时,迭代器的索引会指向第二个元素并将该元素返回
// 依此类推,直到hasNext方法返回false,表示到达了集合的末尾,终止对元素的遍历。
while (it.hasNext()) { //while(条件)
// 创建学生对象 next()返回迭代中的下一个元素。
// 通过迭代器的next方法获取到元素信息,给到学生对象,元素的值给到变量
Student student = it.next();
// 打印输出,调用学生类的对象的get方法
System.out.println(student.getName() + " " + student.getAge() + " " + student.getXxingbie());
}
}
}