comparableインタフェースとcomparatorインタフェースの特徴と違い
6858 ワード
1. Comparator Comparable
java , class 。
class: public class Person{ String name; int age }.
personList, person1, person2, persion3....., Collections.sort( personList), .
, list : StringList{"hello1" , "hello3" , "hello2"}, Collections.sort( stringList ) ,
String Comparable , Person , 。
2. Comparator Comparable
Comparable Person :
public class Persion implements Comparable {.. Person ..}, , Person ,
String , , Person 。Collections.sort(personList) 。
Comparator Person , Person , public class Person{ String name; int age },
: public PersonComparator implements Comparator() {.. Person ..},
PersonComparator Person . , , personList , personList ,
PersonComparator , Person PersonComparator , : Collections.sort( personList , new PersonComparator()).3. Comparator Comparable
Comparable compareTo , compareTo :
1 public class Person implements Comparable { 2 String name; 3 int age 4 public int compareTo(Person another) { 5 int i = 0; 6 i = name.compareTo(another.name); // 7 if(i == 0) { // , , 8 return age - another.age; 9 } else { 10 return i; // , . 11 } 12 } 13 } 14 Collections.sort( personList ) . 15 Comparator: 16 Comparator compare : 17 public class Person{ 18 String name; 19 int age 20 } 21 class PersonComparator implements Comparator
{ 22 public int compare(Person one, Person another) { 23 int i = 0; 24 i = one.name.compareTo(another.name); // 25 if(i == 0) { // , , 26 return one.age - another.age; 27 } else { 28 return i; // , . 29 } 30 } 31 }Collections.sort( personList , new PersonComparator()) 。
4:
, Comparable , Comparable , , Comparator ,
, , , Comparator ,
, 。
転載先:https://www.cnblogs.com/ScarecrowAnBird/p/6916186.html