在java中对包含对象的数组列表进行排序

在java中对包含对象的数组列表进行排序,java,sorting,Java,Sorting,我有一个linkedlist的列表 List<LinkedList<File1>> lists = Collections.synchronizedList(new ArrayList<LinkedList<File1>>()); 有人能帮我按距离对元素进行排序吗 我曾想过使用collections.sort(),但在这种情况下不能使用它,所以有人能提出更好的建议吗?您可以使用 公共静态无效排序(列表, 比较器c)迭代a

我有一个linkedlist的列表

    List<LinkedList<File1>> lists = 
        Collections.synchronizedList(new ArrayList<LinkedList<File1>>());
有人能帮我按距离对元素进行排序吗


我曾想过使用collections.sort(),但在这种情况下不能使用它,所以有人能提出更好的建议吗?

您可以使用

公共静态无效排序(列表,
比较器c)

迭代arraylist中的每个linkedlist,然后对其排序。但为了确保元素按
dist
排序,您应该实现以下功能:

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

    public int compareTo(File1 f)
    {
        return Integer.compare(dist, f.dist);
    }
}
公共类File1实现了可比较的
{
int dist,nod;
公共整数比较(文件1 f)
{
返回整数。比较(dist,f.dist);
}
}

使用Collections.sort()和一个自定义比较器来比较每个对象的dist值。

那么你只想对内部列表进行排序吗?你是怎么知道Collections.sort()不起作用的,原因是什么?thnks很多:)非常有用:)@divyashre:欢迎来到StackOverflow。如果有人以解决你问题的方式回答你的问题,你可以通过在问题分数下打勾来接受答案。你会看到勾号会变成绿色,这意味着你接受了答案。
public class File1 implements Comparable<File1>
{
    int dist, nod;

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