在Java中,可以使用Collections.sort()
方法對ArrayList進行排序。如果想要自定義排序規則,可以使用Comparator接口來實現自定義比較器。
以下是一個示例代碼,展示如何對ArrayList中的元素按照自定義規則進行排序:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(2);
numbers.add(10);
numbers.add(1);
// 使用自定義比較器進行排序
Collections.sort(numbers, new CustomComparator());
// 輸出排序結果
for (Integer number : numbers) {
System.out.println(number);
}
}
}
class CustomComparator implements Comparator<Integer> {
@Override
public int compare(Integer num1, Integer num2) {
// 自定義比較規則,這里按照數字的絕對值進行排序
int absDiff = Math.abs(num1) - Math.abs(num2);
if (absDiff < 0) {
return -1;
} else if (absDiff == 0) {
return 0;
} else {
return 1;
}
}
}
在這個示例中,我們創建了一個包含整數的ArrayList,并使用自定義比較器CustomComparator
對其進行排序。在CustomComparator
類中,我們實現了Comparator
接口,并重寫了其中的compare()
方法,定義了按照數字的絕對值進行排序的規則。然后,我們使用Collections.sort()
方法對ArrayList進行排序,傳入自定義比較器對象作為參數。最后,通過遍歷ArrayList輸出排序結果。