在Java中,sorted()
函数是Stream API中的一个方法,用于对元素进行排序。这个方法接受一个可选的比较器(Comparator)作为参数。以下是关于sorted()
函数参数的详细信息:
- Comparator comparator (可选):这是一个比较器,用于定义排序规则。如果没有提供比较器,那么元素将按照自然顺序进行排序(即,它们需要实现
Comparable
接口)。如果提供了比较器,那么它将被用于确定元素的排序顺序。
示例:
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class SortedExample {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
// 使用自然顺序进行排序(字母顺序)
List<String> sortedNames = names.stream()
.sorted()
.collect(Collectors.toList());
System.out.println(sortedNames); // 输出:[Alice, Bob, Charlie, David]
// 使用自定义比较器进行排序(按字符串长度)
List<String> sortedByLength = names.stream()
.sorted(Comparator.comparingInt(String::length))
.collect(Collectors.toList());
System.out.println(sortedByLength); // 输出:[Bob, Alice, David, Charlie]
}
}
在上面的示例中,我们首先使用自然顺序对字符串列表进行排序,然后使用自定义比较器按字符串长度进行排序。注意,sorted()
函数没有改变原始列表,而是返回一个新的已排序列表。
网友留言: