📅  最后修改于: 2023-12-03 15:24:33.014000             🧑  作者: Mango
在Java中,对于需要排序的集合,可以使用Collections.sort()
进行排序。但是对于LinkedList
,他有自身的排序方法,可以使用Collections.sort()
,但是效率会比较低。以下是介绍如何在Java对LinkedList
进行排序。
可以使用Collections.sort()
方法对LinkedList
进行排序,但是效率不如LinkedList
自带的排序方法Collections.sort()
方法:
LinkedList<String> list = new LinkedList<>();
list.add("c");
list.add("a");
list.add("d");
list.add("b");
Collections.sort(list);
System.out.println(list);
输出结果:
[a, b, c, d]
LinkedList
自身有一个快速排序方法LinkedList.sort()
,根据元素的自然顺序对此列表进行升序排列。以下是使用LinkedList.sort()
方法对LinkedList
进行排序:
LinkedList<String> list = new LinkedList<>();
list.add("c");
list.add("a");
list.add("d");
list.add("b");
list.sort(null);
System.out.println(list);
输出结果:
[a, b, c, d]
LinkedList.sort()
方法也支持使用自定义的排序规则进行排序。通过传入一个实现了Comparator
接口的比较器对象作为参数,可以按照比较器定义的规则进行排序。以下是使用自定义排序规则对LinkedList
进行排序:
LinkedList<String> list = new LinkedList<>();
list.add("ccc");
list.add("aaa");
list.add("dd");
list.add("bbb");
Comparator<String> lengthComparator = Comparator.comparing(String::length);
list.sort(lengthComparator);
System.out.println(list);
输出结果:
[dd, aaa, bbb, ccc]
以上即为在Java中对LinkedList
进行排序的方法。根据具体的场景选择不同的方法,可以提高代码的效率和性能。