当前位置: 首页 > 知识库问答 >
问题:

数组列表的排序arraylist

宗政元青
2023-03-14

我想用java对数字数组列表进行排序,所以基本上如果我有以下数组列表:

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应该根据第一个键然后第二个键进行排序。

共有1个答案

柴辰阳
2023-03-14

这里有一个方法。使用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]
 类似资料:
  • 我有一个点列表,每个点都是一个大小为2的小列表。我想按x的递增顺序对点列表进行排序,如果x值相等,我就按y的递减顺序排序来打破平局。 我编写了一个自定义比较器来对点进行排序,如下所示: 以下是排序前的输入: 以下是使用上述比较器排序后产生的结果: 观察:- 输入按x的升序排序。 (5,12)被正确地放在(5,10)之前 (9,-15)被正确地放在(9,-1000)之前 然而,(10001,-10)

  • 我有一个java中的double列表,我想按降序排列ArrayList。 输入ArrayList如下所示: 输出应该是这样的

  • 问题内容: 我为无法快速找到答案感到困惑。我本质上是在寻找Java中的一种实现接口的数据结构,但该结构按顺序存储其成员。我知道您可以使用法线并在其上使用,但是我遇到的情况是,我偶尔会添加并经常从列表中检索成员,并且我不想每次检索成员时都对其进行排序,以防万一新增加了一个。谁能指出我在JDK甚至第3方库中都存在的这种东西? 编辑 :数据结构将需要保留重复项。 总结 :我发现所有这些都很有趣,并且学到

  • 问题内容: 我有以下课程。在此,虹膜是具有某些属性的另一类。 我想对此数组列表进行排序(即列表 helperList),基于距离参数降序。我已经编写了以下方法,但是它不起作用。 有人可以提出解决方案吗? 问题答案: 为什么不让您的类实现接口,然后使用Collections类提供的内置排序方法。 我认为这可以解决问题。另外,此方法是稳定的。 http://docs.oracle.com/javase

  • 我有一个程序,它接受一个单词和一个文本文件字典,并在字典中搜索与给定单词相等的单词组合(是字母表)。 我最后得到了一个字符串数组的Arraylist,每个数组都是一个包含它所使用的单词的解决方案,Arraylist是所有的解决方案。 它首先按字长(降序)排序,然后对等长字使用字母排序。 我现在对各个数组进行了排序,但我正试图按照某些规则在arraylist中对它们进行排序: 按字数递增 对于包含相