
sorted() 函数是 Java 8 引入的一个方法,它可以用于对集合(Collection)或流(Stream)进行排序。这个方法返回一个新的、排序后的集合,原始集合保持不变。sorted() 方法可以在不同的数据结构中使用,例如列表(List)、集合(Set)和流(Stream)。
- 在 List 中使用 sorted():
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(
5,
3,
1,
4,
2);
List<Integer> sortedNumbers = numbers.stream()
.sorted()
.collect(Collectors.toList());
System.out.println(
"Original list: " + numbers);
System.out.println(
"Sorted list: " + sortedNumbers);
}
}
- 在 Set 中使用 sorted():
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
Set<Integer> numbers =
new HashSet<>(Arrays.asList(
5,
3,
1,
4,
2));
List<Integer> sortedNumbers = numbers.stream()
.sorted()
.collect(Collectors.toList());
System.out.println(
"Original set: " + numbers);
System.out.println(
"Sorted list: " + sortedNumbers);
}
}
- 在 Stream 中使用 sorted():
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
Stream<Integer> numberStream = Stream.of(
5,
3,
1,
4,
2);
List<Integer> sortedNumbers = numberStream
.sorted()
.collect(Collectors.toList());
System.out.println(
"Sorted list: " + sortedNumbers);
}
}
注意:在使用 sorted() 方法时,需要确保元素实现了 Comparable 接口,以便进行比较。如果需要自定义排序规则,可以将一个 Comparator 作为参数传递给 sorted() 方法。