java例程练习(Comparable接口)
2012-05-01 13:40
399 查看
import java.lang.Comparable; import java.util.List; import java.util.LinkedList; import java.util.Collections; public class TestCompareTo { public static void main(String[] args) { List l1 = new LinkedList(); l1.add(new Name("Karl", "M")); l1.add(new Name("Stever", "Lee")); l1.add(new Name("John", "O")); l1.add(new Name("Tom", "M")); System.out.println(l1); Collections.sort(l1); System.out.println(l1); } } class Name implements Comparable{ private String firstName; private String lastName; Name(String firstName, String lastName) { this.setFirstName(firstName); this.setLastName(lastName); } public void setFirstName(String firstName) { this.firstName = firstName; } public String getFirstName() { return firstName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getLastName() { return lastName; } public String toString() { return firstName + " " + lastName; } public boolean equals(Object obj) { if(obj instanceof Name) { Name name = (Name) obj; return (firstName.equals(name.firstName)) && (lastName.equals(name.lastName)); } return super.equals(obj); } public int hashCode() { return firstName.hashCode(); } public int compareTo(Object o) { Name n = (Name) o; int lastCmp = lastName.compareTo(n.lastName); return (lastCmp != 0 ? lastCmp : firstName.compareTo(n.firstName)); } }
相关文章推荐
- java例程练习(Comparable接口)
- java例程练习(Comparable接口)
- java例程练习(接口interface)
- java例程练习(接口interface)
- java例程练习(接口interface)
- java例程练习(接口interface)
- java comparator接口与Comparable接口的区别
- JAVA--第八周实验--接口的练习
- java例程练习(数据类型转换)
- JAVA并发编程随笔【二】Comparable接口(类的自然排序 natural ordering)
- JAVA并发编程随笔【二】Comparable接口(类的自然排序 natural ordering)
- java例程练习(有趣的函数重载问题)
- java例程练习(this和super的第二个作用)
- JAVA基础6.63——接口练习
- java例程练习(对象类型数据的排序)
- java例程练习(将string转成double)
- java例程练习(用递归方法列出文件目录)
- java例程练习(用HashMap记录控制台输入)
- java例程练习(转换流)
- java例程练习(多线程的两种创建方式)