当前位置: 首页 > 面试题库 >

对整数的数组列表进行排序

禄俊逸
2023-03-14
问题内容

我想对整数的arraylist的arraylist进行排序,需要帮助吗?

我被告知,我需要实现比较器或可比对象,然后使用collection.sort对列表列表进行排序…

ArrayList<ArrayList<Integer>> g = new ArrayList<ArrayList<Integer>>()

If you look at the list of list as the following example:
C1 – 5,4,10
C2 – 3,2,1
C3 – 7,8,6
First it will be sorted like this:
C1 – 4,5,10
C2 – 1,2,3
C3 – 6,7,8
Then it will be sorted like this
C1 – 1,2,3
C2 – 4,5,6
C3 – 7,8,10

问题答案:

没有错误检查空列表,但是这里是。

List<List<Integer>> list = Arrays.asList(Arrays.asList(10, 5, 4), 
        Arrays.asList(3, 2, 1), Arrays.asList(7, 8, 6));
for (List<Integer> l : list) {
    Collections.sort(l);
}
Collections.sort(list, new Comparator<List<Integer>>() {
    public int compare(List<Integer> o1, List<Integer> o2) {
        return o1.get(0).compareTo(o2.get(0));
    }
});
System.out.println(list);

使用Java 8,它变得更加简洁:

List<List<Integer>> list = Arrays.asList(Arrays.asList(10, 5, 4),
                Arrays.asList(3, 2, 1), Arrays.asList(7, 8, 6));
list.forEach(Collections::sort);
Collections.sort(list, (l1, l2) -> l1.get(0).compareTo(l2.get(0)));
System.out.println(list);


 类似资料:
  • 但我得到一条错误消息,说无法在原语类型int上调用compareToIgnoreCase(int) 我如何修复这段代码,使它能够用整数值对列表进行排序?

  • 我有一个对象类产品,如下所示 我想根据价格对产品进行分类。我的数组是 我做了 但问题是部分在error.It不能使用方法。我希望我的arrayList按照product.The价格的整数排序value.But当我将其更改为字符串类型时,我得到了,但它仍然未排序,因为字符串type.Please帮助我

  • 问题内容: 我有一个元组列表,看起来像这样: 我想按元组内的整数值将此列表升序排序。可能吗? 问题答案: 尝试将key关键字与一起使用。 应该是一个标识如何从数据结构中检索可比较元素的函数。在你的情况下,它是元组的第二个元素,因此我们访问。 要进行优化,请参阅的响应,使用,它实际上是的更快版本]。

  • 我试图建立一个方法,将排序一个二维数组的双打按列。基于所提供的规范,此方法也不应该采用长度不等的行的粗糙数组。我正在使用双[][]mdarray={{3.0, 4.0, 1.0, 8.0},{13.0, 2.0, 12.0, 9.0}测试这个 使用打印方法时,应将其显示为 3.0, 2.0, 1.0, 8.0, 13.0, 4.0, 12.0, 9.0, 使用单独的打印方法输出结果时,数组似乎没有

  • 我想使用功能 对一个int数组进行排序,但我不确定如何进行,这样我就可以确定它使用的是合并排序,而不是任何其他排序。 以下是Java文档:https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html 下面是我认为正确的函数实现,以便使用合并排序。 这是正确的吗?此外,我想指定一个索引,从哪里开始排序等 如何确保编写代码,使其使用合并

  • 问题内容: 比方说你有一个的对象。 如果它们都具有int GoalScored变量,则如何排序?你如何按GoalScored排序? 问题答案: 你可以使用Collections.sort自定义Comparator 。 比较部分也可以这样写: 或者,你可以制作。这定义了所有对象的自然顺序。使用a 更灵活,因为不同的实现可以按名称,年龄等进行排序。