要按照第一列和第二列对ArrayList进行排序,可以使用Comparator接口来实现自定义的比较器。
下面是一个示例代码:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class SortArrayList {
public static void main(String[] args) {
// 创建ArrayList并添加元素
ArrayList list = new ArrayList<>();
list.add(new int[]{3, 2});
list.add(new int[]{1, 4});
list.add(new int[]{2, 3});
// 按照第一列和第二列对ArrayList进行排序
Collections.sort(list, new Comparator() {
@Override
public int compare(int[] arr1, int[] arr2) {
if (arr1[0] != arr2[0]) {
return arr1[0] - arr2[0];
} else {
return arr1[1] - arr2[1];
}
}
});
// 输出排序后的结果
for (int[] arr : list) {
System.out.println(arr[0] + " " + arr[1]);
}
}
}
这段代码中,我们创建了一个ArrayList,并添加了一些int数组元素。然后,我们使用Collections.sort方法对ArrayList进行排序,传入了一个Comparator实例来指定排序规则。在Comparator的compare方法中,我们首先比较第一列的值,如果不相等,则返回它们的差值;如果相等,则继续比较第二列的值。最后,我们遍历排序后的ArrayList,并输出结果。
运行以上代码,输出结果为:
1 4
2 3
3 2
可以看到,ArrayList已经按照第一列和第二列排序了。