温馨提示×

Java sorted()函数的参数有哪些

小樊
85
2024-08-27 12:17:53
栏目: 编程语言

在Java中,sorted()函数是Stream API中的一个方法,用于对元素进行排序。这个方法接受一个可选的比较器(Comparator)作为参数。以下是关于sorted()函数参数的详细信息:

  1. 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()函数没有改变原始列表,而是返回一个新的已排序列表。

0