Java:对具有第一个元素的链表的arraylist进行排序

时间:2017-10-26 14:00:00

标签: java arraylist linked-list

考虑这个带有链表列表对象的arraylist (are-> 1-> 3-> 7,croco-> 4 - > 1,bat-> 3-> 8)。
现在我必须考虑arraylist中包含的linkedlist的第一个元素,按升序对java中的arraylist进行排序。       有一个方法Collections.sort()但是当对象是字符串时它很有用。 在这种情况下适用什么? 最终列表看起来应该是这样的 (are-> 1-> 3-> 7,bat-> 3-> 8,croco-> 4-> 1)

2 个答案:

答案 0 :(得分:0)

Collections.sort();有一个重载方法,也需要一个比较器。所以你想要这样的东西:

Collections.sort(lists, (o1, o2) ->
        o1.get(0).compareTo(o2.get(0))
);

或者如果您可以使用Java 8,sort界面中有一个默认的List方法:

lists.sort(Comparator.comparing(o -> o.get(0)));

答案 1 :(得分:0)

没有太多背景,我可能错了。但是,根据我的判断,如果您使用的是包含标识符(是,croco和bat)的自己的对象,以及链接列表(数字),那么您可以使用以下解决方案。

  

您的类需要实现Comparable Interface   您需要覆盖compareTo()方法   Collections.sort()应按升序对对象进行排序。

{{1}}