2012-04-11 15 views
-1

Ich habe eine Liste der verknüpften Liste.Sortieren von Array-Liste mit Objekten in Java

List<LinkedList<File1>> lists = 
     Collections.synchronizedList(new ArrayList<LinkedList<File1>>()); 

Jede verknüpfte Liste enthält Objekte vom Typ File1.

class File1 
{ 
    int dist,nod;  
} 

Kann mir jemand helfen, die Elemente basierend auf dist zu sortieren.

Ich dachte an collections.sort(), aber das kann in diesem Fall nicht verwendet werden, kann also jemand eine bessere Idee vorschlagen?

+3

Sie möchten also nur die inneren Listen sortieren? –

+1

Wie haben Sie herausgefunden, dass collections.sort() nicht funktioniert? Was ist der Grund dafür? – titogeo

Antwort

6

Iterate über jeden LinkedList in Ihrer Arraylist verwenden, dann sortieren. Aber um sicherzustellen, dass die Elemente auf dist sortiert sind, sollten Sie implementieren Vergleichbar:

public class File1 implements Comparable<File1> 
{ 
    int dist, nod; 

    public int compareTo(File1 f) 
    { 
     return Integer.compare(dist, f.dist); 
    } 
} 
+0

thnks viel :) es war vry nützlich :) – Divyashree

+0

@Divyashree: Willkommen bei StackOverflow. Wenn jemand Ihre Frage so beantwortet hat, dass Ihr Problem gelöst wurde, können Sie die Antwort akzeptieren, indem Sie das Häkchen unter der Punktzahl der Frage ankreuzen. Sie werden sehen, dass das Häkchen grün wird, dh Sie haben die Antwort akzeptiert. –

3

Verwenden Collections.sort() mit einem benutzerdefinierten Komparator, der den dist Wert jedes Objekts vergleicht.

Verwandte Themen