为TreeSet集合增加比较器实现排序

来源:互联网 发布:js替换全部字符串 编辑:程序博客网 时间:2024/06/05 16:14
package com.liangjing.set;import java.util.Comparator;import java.util.Iterator;import java.util.TreeSet;public class TreeSetTest {/** * @param args */public static void main(String[] args) {             //main方法 // TODO Auto-generated method stubTreeSet set = new TreeSet(new MyComparator() {//构造方法内传递比较器实例});//set.add("C");//set.add("A");//set.add("B");//set.add("E");//set.add("F");//set.add("D");//实例化Student s1 = new Student(78);Student s2 = new Student(95);Student s3 = new Student(82);Student s4 = new Student(69);//加入集合set.add(s1);set.add(s2);set.add(s3);set.add(s4);<span style="white-space:pre"></span>//迭代器输出for (Iterator iter = set.iterator(); iter.hasNext();) {//String value = (Student)iter.next();//System.out.println(value);Student Student =(Student)iter.next();System.out.println(Student.score);      //直接打印Student输出也一样?}}}class Student {           //学生类int score;        //分数属性public Student(int score) {        // 构造方法this.score = score;}public String toString() {          //toString重写,此处不是必须return String.valueOf(this.score);}}class MyComparator implements Comparator {          //自定义比较器实现Comparator接口 compare方法,这里实现逆序public int compare(Object o1, Object o2) {//String s1 = (String) o1;//String s2 = (String) o2;//return s2.compareTo(s1);Student s1 =(Student)o1;          Student s2 =(Student)o2;return s2.score-s1.score;          //逆序}}
输出 //注释部分输出 FEDCBA
95827869

0 0
原创粉丝点击