Heim  >  Artikel  >  Java  >  Sortierung der Sammlung (Objekt).

Sortierung der Sammlung (Objekt).

巴扎黑
巴扎黑Original
2016-12-10 09:22:001646Durchsuche

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(); //Hier user1 hinzufügen
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 ArrayList(); list.addAll(Hset);


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());

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Eine kleine Frage in JavaNächster Artikel:Eine kleine Frage in Java