如何高效排序java中的arraylist

小樊
81
2024-09-29 09:50:58

在Java中,對(duì)ArrayList進(jìn)行高效排序可以使用Collections.sort()方法或者Arrays.sort()方法。這兩個(gè)方法都使用了優(yōu)化的排序算法(如TimSort),在大多數(shù)情況下都能提供很好的性能。

以下是使用Collections.sort()方法對(duì)ArrayList進(jìn)行排序的示例:

import java.util.ArrayList;
import java.util.Collections;

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

        Collections.sort(arrayList);

        System.out.println("Sorted ArrayList: " + arrayList);
    }
}

如果你想根據(jù)自定義的比較器進(jìn)行排序,可以使用Collections.sort(arrayList, comparator)方法。例如,按照降序排序:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

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

        Collections.sort(arrayList, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2 - o1;
            }
        });

        System.out.println("Sorted ArrayList in descending order: " + arrayList);
    }
}

如果你想使用Java 8的Lambda表達(dá)式進(jìn)行排序,可以使用Collections.sort(arrayList, (a, b) -> b - a)。

注意:這些方法都會(huì)修改原始的ArrayList。如果你想保留原始列表并創(chuàng)建一個(gè)新的排序列表,可以使用new ArrayList<>(arrayList)。

0