List<List> 排序
时间: 2023-08-16 22:03:23 浏览: 38
如果你的列表中包含多个列表,可以按照其中一个子列表的值进行排序。你可以使用 `Collections` 类的 `sort` 方法和自定义的比较器来实现。
例如,如果你的列表是 `List<List<Integer>>` 类型,你可以按照每个子列表的第一个元素进行排序,可以这样做:
```java
List<List<Integer>> list = new ArrayList<>();
// 添加子列表
list.add(Arrays.asList(3, 2, 1));
list.add(Arrays.asList(1, 3, 2));
list.add(Arrays.asList(2, 1, 3));
// 按照第一个元素进行排序
Collections.sort(list, new Comparator<List<Integer>>() {
@Override
public int compare(List<Integer> o1, List<Integer> o2) {
return o1.get(0) - o2.get(0);
}
});
// 输出排序后的结果
for (List<Integer> l : list) {
System.out.println(l);
}
```
输出结果为:
```
[1, 3, 2]
[2, 1, 3]
[3, 2, 1]
```
在上面的代码中,我们使用了匿名内部类来定义比较器。比较器的 `compare` 方法根据子列表的第一个元素的大小来进行比较。如果第一个元素相等,则比较第二个元素,以此类推。最后,我们通过 `Collections.sort` 方法对列表进行排序。