import java.util.*;
class Person implements Comparable{
private String name;
private int age;
private float score;
public Person(String name,int age,float score){
this.name = name;
this.age = age;
this.score = score;
}
public int compareTo(Object obj){
Person p=(Person)obj;
if(p.score>this.score){
return 1;
}else if(p.score<this.score){
return -1;
}else {
if(p.age>this.age){
return 1;
} else if(p.age<this.age){
return -1;
} else {
return 0;
}
}
}
public String toString(){
return "姓名:"+this.name+",年龄:"+this.age+",成绩:"+this.score;
}
}
public class AdvDemo03{
public static void main(String args[]){
//Person p[] = new Person[5];
//p[0] = new Person("张三",20,96);
//p[1] = new Person("李四",19,96);
//p[2] = new Person("王五",19,97);
//p[3] = new Person("赵六",21,78);
//p[4] = new Person("孙七",20,80);
//Arrays.sort(p);
//for(Person person : p){
// System.out.println(person);
//}
Set s = new TreeSet();
s.add(new Person("张三",20,96));
s.add(new Person("李四",19,96));
s.add(new Person("王五",19,97));
s.add(new Person("赵六",21,78));
s.add(new Person("孙七",20,80));
Iterator iter = s.iterator();
while(iter.hasNext()){
System.out.println(iter.next());
}
}
}
Comparable接口要实现 int compareTo(Object obj) 方法
Arrays.sort(Object[ ] obj) | TreeSet 都应实现该接口,否则会抛出ClassCastException异常
分享到:
相关推荐
通过简单的例子初步了解Comparable和Comparator的使用,注释很详细
java通过Comparable接口实现字符串比较大小排序的简单实例
comparator接口与Comparable接口的区别
1.什么是Comparable接口 此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。实现此接口的对象列表(和数组)可以通过 Collections.sort ...
下面小编就为大家带来一篇java中实现Comparable接口实现自定义排序的示例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了java 实现Comparable接口排序,升序、降序、倒叙,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
Java8HashMap键与Comparable接口编程开发技术共3页.pdf.zip
本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧
【IT十八掌徐培成】Java基础第12天-02.TreeSet实现与Comparable接口.zip
实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。 此外,实现此接口的对象可以用作有序映射中的键或有序集合中的集合,无需指定比较器。 此 接口只有一个方法...
本篇文章是对java比较器Comparable接口与Comaprator接口进行了详细的分析介绍,需要的朋友参考下
【推选】Comparable自比较接口PPT资料.pptx
1. Comparator 和 Comparable 相同的地方 他们都是java的一个接口, 并且是用来对自定义的class比较大小的, 什么是自定义class: 如 public class Person{ String name; int age }. 当我们有这么一个...
Comparable&Comparator区别,看完就明白了
Comparable和Comparator接口都可用作普通意义上对象间的比大小,但两个接口在实例化方面的用法不尽相同,接下来我们就来详细对比Java中的Comparable排序接口和Comparator比较器接口
java排序Comparator和Comparable
主要介绍了详解Java中Comparable和Comparator接口的区别的相关资料,希望通过本文大家能彻底掌握这部分内容,需要的朋友可以参考下
文章目录简介ComparableComparator举个例子 java中Comparable和Comparator的区别 ...实际上Comparable接口只定义了一个方法: public int compareTo(T o); 实现这个接口的类都需要实现compareTo方法,表示两个
当且仅当要使用的对象实现Comparable接口时,我们也可以创建不带Comparator对象的SortedList。 用法 我们将像创建Java中的任何ArrayList一样创建SortedList: SortedList sortedlist = new SortedList(comparator); ...