Heim >Java >javaLernprogramm >Sortierung der Sammlung (Objekt).
Es gibt zwei Möglichkeiten, die Liste mithilfe der Collections.sort-Methode zu sortieren.
Die erste besteht darin, dass die Objekte in der Liste die Comparable-Schnittstelle wie folgt implementieren:
[java] view plain copy
/ **
* Benutzer nach Reihenfolge sortieren
*/
public class User implementiert Comparable
private String name;
public String getName() {
return name; > } }
public void setName(String name) {
this.name = name;
}
public Integer getOrder() {
return order; Integer order ) {
this.order = order;
} public int CompareTo(User arg0) {
return this.getOrder().compareTo(arg0.getOrder()); >} Testen Sie es:
public class Test{
public static void main(String[] args) {
User user1 = new User();
user1.setName("a" );
user1.setOrder(1);
User user2 = new User();
user2.setOrder(2);
List < ; User> list = new ArrayList
list.add(user1); sort (list);
for(User u : list){
System.out.println(u.getName()); 🎜>
Das Ausgabeergebnis ist wie folgt
a
b
Die zweite Methode basiert auf der Überladungsmethode Collections.sort, zum Beispiel:
[java] view plain copy
/* *
* Benutzer nach Reihenfolge sortieren
*/
public class User { //Die Comparable-Schnittstelle muss hier nicht implementiert werden.
private String name;
public String getName() {
return name; (String name) {
this.name = name;
}
public Integer getOrder() {
return order; }
public void setOrder(Integer order) {
this. order = order;
}
}
Schreiben Sie dies einfach in die Hauptklasse (HastSet——>List——>sort Sorting):
public class Test {
public static void main(String[] args) {
User user1 = new User();
user1.setName("a");
User user2 = neuer Benutzer();
user2.setName("b");
user2.setPrice(2);
Set
Hset.add(user1);
List
Collections.sort(list,new Comparator
public int Compare(User arg0 , User arg1) {
return arg0.getPrice().compareTo(arg1.getPrice()); out .println(u.getName()); .println(u.getName()); return arg0.getOrder().compareTo(arg1.getOrder()); Änderung zu:
return arg1.getOrder().compareTo(arg0.getOrder());