import java.util.*;
class Name implements Comparable{
private String firstName, lastName;
Name(String firstName, String lastName){
this.firstName = firstName;
this.lastName = lastName;
}
public String toString(){
return firstName + " " + lastName;
}
public boolean equals(Object obj){
Name na = (Name) obj;
if(na.lastName == lastName && na.firstName == firstName){
return true;
}else{
return false;
}
}
public int compareTo(Object obj){
Name na = (Name) obj;
int strCmp = lastName.compareTo(na.lastName);
if(strCmp != 0){
return strCmp;
}else return firstName.compareTo(na.firstName);
}
}
public class TestComparalbe {
public static void main(String[] args) {
List ls = new LinkedList();
ls.add(new Name("Karl", "M"));
ls.add(new Name("Steven", "Lee"));
ls.add(new Name("William", "AMG"));
ls.add(new Name("Tom", "M"));
System.out.println(ls);
Collections.sort(ls);
System.out.println(ls);
}
}
LinkedList搭配collections.sort做字符串排序。针对上文精简了方法的实现部分
最新推荐文章于 2024-11-10 20:11:08 发布
本文介绍了一个使用Java实现的姓名比较器,通过实现Comparable接口来对具有名和姓的对象进行排序。示例代码展示了如何创建包含名字信息的类并实现compareTo方法以按姓氏和名字进行排序。
16万+

被折叠的 条评论
为什么被折叠?



