要按照int[]变量对ArrayList
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
public class SortArrayList {
public static void main(String[] args) {
ArrayList list = new ArrayList<>();
// 添加示例数据
list.add(new int[]{3, 2, 1});
list.add(new int[]{1, 2, 3});
list.add(new int[]{2, 1, 3});
// 使用Comparator接口定义比较规则
Comparator comparator = new Comparator() {
@Override
public int compare(int[] arr1, int[] arr2) {
// 比较两个数组的第一个元素
// 如果第一个元素相等,则比较第二个元素,依次类推
for (int i = 0; i < Math.min(arr1.length, arr2.length); i++) {
if (arr1[i] != arr2[i]) {
return arr1[i] - arr2[i];
}
}
// 如果所有元素都相等,则根据数组的长度来比较
return arr1.length - arr2.length;
}
};
// 使用Collections类的sort方法进行排序
Collections.sort(list, comparator);
// 输出排序结果
for (int[] arr : list) {
System.out.println(Arrays.toString(arr));
}
}
}
在上述示例代码中,我们通过Comparator接口实现了比较规则,然后使用Collections类的sort方法对ArrayList进行排序。输出结果如下:
[1, 2, 3]
[2, 1, 3]
[3, 2, 1]
根据比较规则,数组会按照升序排列。
下一篇:按照IN值列表的位置排序