ArrayList的排序算法有以下幾種:
冒泡排序(Bubble Sort):依次比較相鄰的元素,如果順序錯誤則交換位置,直到整個數組有序為止。
選擇排序(Selection Sort):每次從未排序的部分中選擇最小的元素,放到已排序的部分的末尾,直到整個數組有序為止。
插入排序(Insertion Sort):將未排序的元素逐個插入已排序的部分中的正確位置,直到整個數組有序為止。
快速排序(Quick Sort):選擇一個基準元素,將數組分為兩部分,左邊的元素都小于等于基準,右邊的元素都大于等于基準,然后對左右兩個部分遞歸地進行快速排序。
歸并排序(Merge Sort):將數組分為兩個部分,分別對這兩個部分進行排序,然后將排序好的兩個部分合并起來。
堆排序(Heap Sort):將數組構建成一個最大堆或最小堆,然后將堆頂的元素和最后一個元素交換,再將剩余的部分重新構建堆,重復這個過程直到整個數組有序。
希爾排序(Shell Sort):將數組按一定的間隔分組,對每組進行插入排序,然后逐漸縮小間隔,直到間隔為1,最后進行一次完整的插入排序。
這些排序算法可以通過ArrayList的sort()方法進行調用,其中默認使用的是快速排序算法。如果需要使用其他排序算法,可以通過傳入Comparator參數來指定。