2016-05-09 16 views
0

Ich habe eine Datenstruktur in Java, die wie folgt aussieht:Sortieren einer Datenstruktur in Java

class Order { 
    int id; 
    String name; 
    int totalCost; 
    String address; 
    List<String> items; 

    public setter() { 
     .... 
    } 

    public getter() { 
     ... 
    } 
} 

I-Klasse haben einen Test, der diese Datenstruktur verwendet:

class TestClass { 
    List<Order> o = getAllOrders(); 
    sortOrders(); 
} 

Ich möchte schreiben sortOrders-Methode zum Sortieren dieser Datenstruktur basierend auf einem ihrer Attribute, in diesem Fall dem Namen in der Bestellung.

Ich weiß, in Java sortieren wir tun können:

java.util.Collections.sort(anyArrayListOfStrings); 

Was ist der effizienteste Weg, die gesamte Datenstruktur in Java zu sortieren?

+0

'Collections.sort (o, Comparator.comparing (Order :: name))'? –

Antwort

0

Nun, alles, was Sie benötigen, ist ein Komparator an die Collections.sort() Methode übergeben. Man könnte so etwas tun, da Sie die Liste der Order Objekte auf dem name Feld sortieren wollen ..

Collections.sort(o, new Comparator<Order>() { 
    public int compare(Order o1, Order o2) { 
     return o1.name.compareTo(o2.name); 
    } 
}); 
Verwandte Themen