📜  如何在Java对LinkedList进行排序?(1)

📅  最后修改于: 2023-12-03 15:24:33.014000             🧑  作者: Mango

如何在Java对LinkedList进行排序?

在Java中,对于需要排序的集合,可以使用Collections.sort()进行排序。但是对于LinkedList,他有自身的排序方法,可以使用Collections.sort(),但是效率会比较低。以下是介绍如何在Java对LinkedList进行排序。

1. 使用Collections.sort()方法

可以使用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]
2. 使用LinkedList.sort()方法

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]
3. 自定义排序规则

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进行排序的方法。根据具体的场景选择不同的方法,可以提高代码的效率和性能。