import
java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Collections;
/** */ /**
* 收获:
* (1)List中的add方法,会调用toString方法。所以覆盖toString方法,才能加入相应的成员变量字符串
* (2)List的排序通过Collections中的sort方法来实现。而该方法调用了Comparable接口中的compareTo方法;
* 所以当List中是用户自定义对象时,如果要得到正确的排序结果,需要让用户自定义类继承Comparable接口,
* 覆盖掉其中的compareTo方法。
*/
public class TestString ... {
public static void main(String[] args) ...{
List list = new LinkedList();
list.add(new NameTwo("Tom","Jerry"));
list.add(new NameTwo("Steve","Samuelson"));
list.add(new NameTwo("Jack","Paul"));
Collections.sort(list);
System.out.println(list);
}
}
class NameTwo implements Comparable ... {
String firstname;
String lastname;
NameTwo(String firstname,String lastname)...{
this.firstname=firstname;
this.lastname=lastname;
}
public String toString()...{
return firstname+lastname;
}
public int compareTo(Object obj) ...{
NameTwo name = (NameTwo)obj;
int firstCmp = firstname.compareTo(name.firstname);
return
(firstCmp!=0?firstCmp:lastname.compareTo(name.lastname));
}
}
import java.util.LinkedList;
import java.util.List;
import java.util.Collections;
/** */ /**
* 收获:
* (1)List中的add方法,会调用toString方法。所以覆盖toString方法,才能加入相应的成员变量字符串
* (2)List的排序通过Collections中的sort方法来实现。而该方法调用了Comparable接口中的compareTo方法;
* 所以当List中是用户自定义对象时,如果要得到正确的排序结果,需要让用户自定义类继承Comparable接口,
* 覆盖掉其中的compareTo方法。
*/
public class TestString ... {
public static void main(String[] args) ...{
List list = new LinkedList();
list.add(new NameTwo("Tom","Jerry"));
list.add(new NameTwo("Steve","Samuelson"));
list.add(new NameTwo("Jack","Paul"));
Collections.sort(list);
System.out.println(list);
}
}
class NameTwo implements Comparable ... {
String firstname;
String lastname;
NameTwo(String firstname,String lastname)...{
this.firstname=firstname;
this.lastname=lastname;
}
public String toString()...{
return firstname+lastname;
}
public int compareTo(Object obj) ...{
NameTwo name = (NameTwo)obj;
int firstCmp = firstname.compareTo(name.firstname);
return
(firstCmp!=0?firstCmp:lastname.compareTo(name.lastname));
}
}