我有一份链表清单。
List<LinkedList<File1>> lists =
Collections.synchronizedList(new ArrayList<LinkedList<File1>>());
每个链表包含File1类型的对象。
class File1
{
int dist,nod;
}
任何人都可以帮我根据dist对元素进行排序。
我想过使用collections.sort()但是在这种情况下不能使用它,所以有人能提出更好的建议吗?
答案 0 :(得分:6)
迭代你的arraylist中的每个链表,然后对其进行排序。但是为了确保元素在dist
上排序,您应该实现Comparable:
public class File1 implements Comparable<File1>
{
int dist, nod;
public int compareTo(File1 f)
{
return Integer.compare(dist, f.dist);
}
}
答案 1 :(得分:4)
您可以使用Collections.sort() method that accepts a Comparator.
对内部或外部列表进行排序public static void sort(列表列表, 比较器c)
答案 2 :(得分:3)
将Collections.sort()与自定义比较器一起使用,该比较器比较每个对象的dist值。