Java sorted()函數(shù)的參數(shù)有哪些

小樊
85
2024-08-27 12:17:53
欄目: 編程語言

在Java中,sorted()函數(shù)是Stream API中的一個(gè)方法,用于對(duì)元素進(jìn)行排序。這個(gè)方法接受一個(gè)可選的比較器(Comparator)作為參數(shù)。以下是關(guān)于sorted()函數(shù)參數(shù)的詳細(xì)信息:

  1. Comparator comparator (可選):這是一個(gè)比較器,用于定義排序規(guī)則。如果沒有提供比較器,那么元素將按照自然順序進(jìn)行排序(即,它們需要實(shí)現(xiàn)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");

        // 使用自然順序進(jìn)行排序(字母順序)
        List<String> sortedNames = names.stream()
                .sorted()
                .collect(Collectors.toList());
        System.out.println(sortedNames); // 輸出:[Alice, Bob, Charlie, David]

        // 使用自定義比較器進(jìn)行排序(按字符串長度)
        List<String> sortedByLength = names.stream()
                .sorted(Comparator.comparingInt(String::length))
                .collect(Collectors.toList());
        System.out.println(sortedByLength); // 輸出:[Bob, Alice, David, Charlie]
    }
}

在上面的示例中,我們首先使用自然順序?qū)ψ址斜磉M(jìn)行排序,然后使用自定義比較器按字符串長度進(jìn)行排序。注意,sorted()函數(shù)沒有改變?cè)剂斜?,而是返回一個(gè)新的已排序列表。

0