import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;

//聚合类
public class Class {

	private ArrayList<Student>students =new ArrayList();
	
	public void addStudent(Student student){
		students.add(student);
	}

	//排序
	public void displayStudents(){
		Comparator comp = new Mycompartor();
		Collections.sort(students,comp);
		Iterator i=students.iterator();
		while(i.hasNext()){
			Student student =(Student)i.next();
			System.out.println(""+student.getName()+""+student.getAge());
		}
		
	}
}


public class Student {

	public String Name;
	public int Age;
	public String getName() {
		return Name;
	}
	public int getAge() {
		return Age;
	}
	public void setName(String name) {
		Name = name;
	}
	public Student(String name, int age) {
		super();
		Name = name;
		Age = age;
	}
	public void setAge(int age) {
		Age = age;
	}

}

import java.util.Comparator;

//比较器
public  class Mycompartor implements Comparator {

	public int compare(Object obj1,Object obj2) {
		Student s1 = (Student)obj1;
		Student s2 = (Student)obj2;
		if(s1.getAge()<s2.getAge()){
			return 1;
		}else{
			return 0;
		}
	}
}

//测试
public class Main {
	public static void main(String[] args) {
		Class obj = new Class();
		Student student1, student2, student3, student4;
		student1 = new Student("xiaoming", 20);
		student2 = new Student("xiaohua", 22);
		student3 = new Student("xiaowang", 26);
		student4 = new Student("xiaoding", 25);

		obj.addStudent(student1);
		obj.addStudent(student2);
		obj.addStudent(student3);
		obj.addStudent(student4);
		
		obj.displayStudents();
	}
}

运行结果:
xiaoming20
xiaohua22
xiaowang26
xiaoding25

实验结果分析:
这是一个迭代器模式,class充当聚合类,在其中定义了一个ArrayList类型的集合存储Student对象,定义一个MyComparator实现了Comparator接口实现排序,在Class类的displayStudent方法中放一个比较器排序和一个迭代器遍历集合。