public static void main(String[] args) { // 创建一个LinkedHashSet集合对象 //按年龄有小到大排顺序 Set
ts = new TreeSet
(new StudentAgeComparator()); //按成绩由小到大排序 //Set
ts = new TreeSet
(new StudentAgeComparator()); // 生成一些Student对象 Student sd1 = new Student(18, "zxx", 60); Student sd2 = new Student(23, "abc", 85); Student sd3 = new Student(25, "hik", 45); Student sd4 = new Student(25, "hik", 90); Student sd5 = new Student(17, "cde", 33); // 向集合对象中添加Student对象 ts.add(sd1); ts.add(sd2); ts.add(sd3); ts.add(sd4); ts.add(sd5); // 生成一个迭代器 Iterator
it = ts.iterator(); // 输出字符串 while (it.hasNext()) { System.out.println(it.next()); } } }
当选用Set
ts = new TreeSet
(new StudentAgeComparator());时。
输出结果:
name :cde age :17 score :33
name :zxx age :18 score :60
name :abc age :23 score :85
name :hik age :25 score :45
很明显是按年龄由小到大排序的。
当选用Set
ts = new TreeSet
(new StudentScoreComparator());时。
输出结果:
name :cde age :17 score :33
name :zxx age :18 score :60
name :abc age :23 score :85
name :hik age :25 score :45
很明显是按成绩由小到大排序的。