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

基于两列的Java排序

司徒俊雄
2023-03-14
问题内容

可以说我有这样的表:

 String | Int1 | Int2
 "foo"    5      0
 "faa"    4      1
 "zaa"    0      1
 "zoo"    4      2
 "laa"    4      3
 "loo"    1      4

我想得到的是这样的表:

 String | Int1 | Int2
 "foo"    5      0
 "laa"    4      3
 "zoo"    4      2
 "faa"    4      1
 "loo"    1      4
 "zaa"    0      1

发生的第一件事是基于column进行排序Int1

发生的第二件事是基于列的,Int2但仅基于列中具有相同数字的行Int1

在不使用任何数据库引擎的情况下应该如何解决此问题?


问题答案:

通常,通常使用List<Item>where Item是包含所有三个值的类型(例如,“ foo”,第一行的5、0)来执行此操作。

然后,您将编写一个Comparator<Item>比较在中Item呈现给它的两个对象的Int1值的compare,如果给出了明确的答案,则返回该答案…否则比较Int2的值。



 类似资料:
  • 在上面的示例中,子集列表有23个元素。对于gridSize为12,子集列表中的23个元素应该分布在12个分区中,因此在这种情况下,每个分区应该有2个子集列表中的元素。 这个问题与spring批处理分区有关。列表中的整数实际上是spring批处理程序要处理的用户ID。有些用户比其他用户需要更多的处理时间。因此在分区过程中可能发生的情况是,某些分区可能包含比其他分区占用更多处理时间的更多用户。这会导致

  • 问题内容: 我在Java中具有以下哈希图: 我应该如何对哈希图进行排序,以便考虑字母和数字? 生成的哈希图应如下所示: 感谢帮助! 问题答案: 使用排序: 它将自动放置按键排序的条目。我认为自然排序适合你的情况。 注意,由于查找优化,不会保留顺序。

  • 问题内容: 我想基于一个隐藏列对行进行排序。 说我有一个像这样的JTable 现在,我还有一个隐藏的column3,但我不想显示。当用户单击Column2时,应基于Column3(隐藏列)而不是基于Column2对行进行排序。 如何在JTable中实现呢? 问题答案: 您可以默认将TableRowSorter添加到JTable中,但是有RowSorter,没有什么比Darryl的Multisort

  • 按降序排序的LinkedHashSet的输出。 对不起,如果这是混淆,我不知道如何去排序像这样。

  • 我有一个对象的,需要根据进行排序。 列表中的每个对象都包含以下内容 现在,假设我想先按“”下单,然后按“”下单。所以苹果排名第一,芒果紧随其后。 我可以做一个普通的asc/desc排序,但这是不够的。也可以使用apache公共资源来做上面的排序?