在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) { Listnames = Arrays.asList("Alice", "Bob", "Charlie", "David"); // 使用自然顺序进行排序(字母顺序) List sortedNames = names.stream() .sorted() .collect(Collectors.toList()); System.out.println(sortedNames); // 输出:[Alice, Bob, Charlie, David] // 使用自定义比较器进行排序(按字符串长度) List sortedByLength = names.stream() .sorted(Comparator.comparingInt(String::length)) .collect(Collectors.toList()); System.out.println(sortedByLength); // 输出:[Bob, Alice, David, Charlie] } }
在上面的示例中,我们首先使用自然顺序对字符串列表进行排序,然后使用自定义比较器按字符串长度进行排序。注意,sorted()
函数没有改变原始列表,而是返回一个新的已排序列表。