java TreeSet的排序之自然排序
2020-12-13 05:18
标签:集合 imp 复杂 str 接口 java pareto object 情况 TreeSet会调用元素的compareTo(Object o)方法来比较元素之间的大小关系,然后将集合里的元素按升序排列.此时需要排序元素的类必须实现Compareble接口,并覆写其int compareTo(Object o)方法; 该方法用于比较对象,若:obj1,compareTo(obj2),返回0,表示两个对象相等,若返回一个正整数,表示obj1大于obj2,若返回一个负整数,表示obj1小于obj2; 对于TreeSet集合而言,判断两个对象相等的标准是: compareTo()方法比较返回 0; package july7; //TreeSet可以自动进行排序!最简单的情况 import java.util.Set; import java.util.TreeSet; public class Demo13 { public static void main(String[] args) { Set s.add(1); s.add(192); s.add(123); s.add(56); s.add(13); s.add(96); System.out.println(s);//[1, 13, 56, 96, 123, 192] } } 稍复杂点的 package july7; //TreeSet的自然排序,升序 import java.util.Set; import java.util.TreeSet; class Student implements Comparable{//必须实现接口 private Integer age; public Student(Integer age) { super(); this.age = age; } @Override public int compareTo(Object o) {//比较的规则,运用泛型可以消除强转! if(o instanceof Student){ Student s = (Student)o; return this.age.compareTo(s.age); } return 0; } @Override public String toString() { return age+"" ; } } public class Demo14 { public static void main(String[] args) { Set s.add(new Student(140)); s.add(new Student(15)); s.add(new Student(11)); s.add(new Student(63)); s.add(new Student(96)); System.out.println(s);//[11, 15, 63, 96, 140] } } java TreeSet的排序之自然排序 标签:集合 imp 复杂 str 接口 java pareto object 情况 原文地址:https://www.cnblogs.com/fanweisheng/p/11136144.html
上一篇:用事件做A窗体关闭B窗体刷新
下一篇:Node.js入门:文件查找机制