溫馨提示×

java如何對集合進行排序

小億
108
2024-09-03 08:33:39
欄目: 編程語言

在Java中,可以使用Collections.sort()方法對集合進行排序。這個方法可以對List集合進行自然排序或者根據提供的比較器進行排序。

以下是一些示例:

  1. 對List集合進行自然排序:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        numbers.add(5);
        numbers.add(3);
        numbers.add(1);
        numbers.add(4);
        numbers.add(2);

        Collections.sort(numbers);
        System.out.println("Sorted list: " + numbers);
    }
}
  1. 對List集合根據提供的比較器進行排序:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> words = new ArrayList<>();
        words.add("apple");
        words.add("banana");
        words.add("cherry");
        words.add("orange");

        Comparator<String> stringLengthComparator = new Comparator<String>() {
            @Override
            public int compare(String s1, String s2) {
                return Integer.compare(s1.length(), s2.length());
            }
        };

        Collections.sort(words, stringLengthComparator);
        System.out.println("Sorted list by length: " + words);
    }
}
  1. 使用Java 8的Lambda表達式簡化代碼:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> words = new ArrayList<>();
        words.add("apple");
        words.add("banana");
        words.add("cherry");
        words.add("orange");

        Collections.sort(words, (s1, s2) -> Integer.compare(s1.length(), s2.length()));
        System.out.println("Sorted list by length: " + words);
    }
}

注意:Collections.sort()方法不適用于非可修改的集合(如通過Collections.unmodifiableList()創建的集合)。在這種情況下,可以使用stream().sorted()方法創建一個新的已排序列表。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女