我想使用java對數字arraylist的陣列串列進行排序,所以基本上如果我有以下arraylist:
arr.add(<1,0>)
arr.add(<0,3>)
arr.add(<2,1>)
arr.add(<2,2>)
輸出應該是:
<0,3>
<1,0>
<2,1>
<2,2>
arraylist 應該根據第一個鍵然后是第二個鍵進行排序。
uj5u.com熱心網友回復:
這是一種方法。采用lists.sort()
資料
List<List<Integer>> lists =
new ArrayList<>(List.of(List.of(0, 3), List.of(1, 0),
List.of(2, 1), List.of(2, 2)));
隨機播放演示
Collections.shuffle(lists);
- 首先比較每個串列的第一個元素并正常排序
- 如果兩個元素相等,則根據下一個元素排序。
lists.sort(Comparator
.comparing((List<Integer> lst) -> lst.get(0))
.thenComparing(lst -> lst.get(1)));
lists.forEach(System.out::println);
印刷
[0, 3]
[1, 0]
[2, 1]
[2, 2]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/446413.html
上一篇:這個問題對應于哪個背包問題變體?
