溫馨提示×

java中arraylist排序怎么自定義

小億
112
2023-07-11 10:58:47
欄目: 編程語言

在Java中,可以使用Collections.sort()方法對ArrayList進行排序。如果想要自定義排序規(guī)則,可以使用Comparator接口來實現(xiàn)自定義比較器。

以下是一個示例代碼,展示如何對ArrayList中的元素按照自定義規(guī)則進行排序:

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());
// 輸出排序結(jié)果
for (Integer number : numbers) {
System.out.println(number);
}
}
}
class CustomComparator implements Comparator<Integer> {
@Override
public int compare(Integer num1, Integer num2) {
// 自定義比較規(guī)則,這里按照數(shù)字的絕對值進行排序
int absDiff = Math.abs(num1) - Math.abs(num2);
if (absDiff < 0) {
return -1;
} else if (absDiff == 0) {
return 0;
} else {
return 1;
}
}
}

在這個示例中,我們創(chuàng)建了一個包含整數(shù)的ArrayList,并使用自定義比較器CustomComparator對其進行排序。在CustomComparator類中,我們實現(xiàn)了Comparator接口,并重寫了其中的compare()方法,定義了按照數(shù)字的絕對值進行排序的規(guī)則。然后,我們使用Collections.sort()方法對ArrayList進行排序,傳入自定義比較器對象作為參數(shù)。最后,通過遍歷ArrayList輸出排序結(jié)果。

0