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

如何对java进行排序。lang.Iterable在元组的第一个字段上包含一个元组4?

诸正谊
2023-03-14

我需要整理一份表格。它包含一个Tuple4

Long pHandlingTime=0L;
for (Tuple4<Long, Long, String, String> in: input){
    elapsed       = Long.parseLong(in.getField(1).toString()) - pHandlingTime;
    pHandlingTime = Long.parseLong(in.getField(1).toString())
}

有什么建议吗?

问候汉斯

共有2个答案

端木元青
2023-03-14

根据您的Tuple4是什么,您可以执行类似的操作来对第一个字段进行排序。

假设getFirst方法存在于Tuple4上:

final List<Tuple4<Long, Long, String, String>> collect = l.stream().sorted(Comparator.comparing(Tuple4::getFirst)).toList();

假设Tuple4上存在getByPos方法:

final List<Tuple4<Long, Long, String, String>> collect2 = l.stream().sorted(Comparator.comparing(t -> t.getByPos(0))).toList();
谢涵煦
2023-03-14

假设有一个Tuple4集合,可以定义实现Comparator接口的Tuple4Comparator(https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html)。诀窍是提供一个比较方法,它将决定两个参数中的哪一个先出现。

public static class YourComparator implements Comparator<Tuple4<Long, Long, String, String>> {

    // Let's compare 2 Tuple4 objects
    public int compare(Tuple4<Long, Long, String, String> o1, Tuple4<Long, Long, String, String> o2)
    {
        // Perform comparison, returning a negative integer if o1 is lower than o2, 0 if they're equal or a positive number if it's greater
    }
}

一旦你有了一个合适的比较器,你可以通过以下方式对你的收藏进行排序:

Collections.sort(yourCollection, new YourComparator());
 类似资料:
  • 问题内容: 我有以下元组,其中包含元组: 我想根据内部元组中包含的 第二个 值对该元组进行排序(即对Apple,Carrot,Banana而不是A,B,C进行排序)。 有什么想法吗? 问题答案: 是否:

  • 因此,我试图学习如何为类项目排序数组。我想知道如何对一个数组进行排序,从而对另一个数组进行排序。在下面的代码中,我可以对年份数组进行排序,但我如何才能使更改这一数组将名称和艺术家数组都更改为它们排列的数组呢?此外,如果你有任何建议,让代码对眼睛不那么苛刻,请告诉我,我正在努力掌握这个概念。

  • 问题内容: 在我的程序中,创建了一个固定长度[7]个对象的数组,每个对象都是一个包含3 ,an 和an的类。这些值是从.txt文件中读取的,并基于的值添加到数组的特定索引中。.txt文件中的条目较少,然后数组中存在索引,因此该数组最终看起来像这样: 后来在节目中,我需要的基础上平均的排序的数组中。我有一个工作方法返回这个,但是当我尝试使用数组进行排序和我开始得到这些错误的一个长长的清单: 我的方法

  • 问题内容: 在下面的示例中,我希望所有元素都是元组,为什么当元组仅包含单个字符串时,它会转换为字符串? 问题答案: 因为前两个元素不是元组;他们只是字符串。括号不会自动使它们成为元组。你必须在字符串后添加一个逗号,以指示python它应该是一个元组。 要修复示例代码,请在此处添加逗号: 从Python文档: 一个特殊的问题是包含0或1项的元组的构造:语法具有一些额外的怪癖来容纳这些项。空元组由一对

  • 问题内容: 我有多个数组,我想根据其中一个的排序顺序对所有数组进行排序,如下所示: 我希望函数执行后,数组将如下所示: 问题答案: 您可以执行以下操作:首先根据键控数组的索引的索引对它们进行索引的值对它们进行排序,然后使用: 如果要在任何类型的集合上使它通用(但仍以与std lib集合算法相同的样式返回数组): 以及带有自定义比较器的版本:

  • 我有多个数组,我想根据其中一个数组的排序顺序对所有数组进行排序,如下所示: 我预计函数执行后的数组将如下所示: