2012-04-11 114 views
-1

我有一個鏈表列表。排序包含java中的對象的數組列表

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

每個鏈表包含File1類型的對象。

class File1 
{ 
    int dist,nod;  
} 

任何人都可以幫助我排序基於dist的元素。

我想使用collections.sort(),但在這種情況下不能使用,所以任何人都可以提出一個更好的主意?

+3

所以你想排序內部列表只? – 2012-04-11 18:27:01

+1

你是怎麼弄出collections.sort()不會工作的,背後的原因是什麼? – titogeo 2012-04-11 19:20:26

回答

6

遍歷在您的ArrayList每個鏈表,然後對其進行排序。但是,爲了確保元素是dist排序,你應該實現可比:

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

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

thnks很多:)它是vry有用:) – Divyashree 2012-04-13 08:17:24

+0

@Divyashree:歡迎來到StackOverflow。如果有人回答你的問題,它解決了你的問題,你可以通過在問題的分數下打勾來接受答案。你會看到蜱會變綠,這意味着你接受了答案。 – 2012-04-13 10:57:39

3

使用Collections.sort()與比較每個對象的DIST值自定義比較。

相關問題