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

排序地图的保管对象字段ID[重复]

扶高歌
2023-03-14

我的第一个问题是,我有一张地图

map.entrySet().stream().sorted(Map.Entry.comparingByKey())

我的服装

Class Person {
  private Long id;
}

我需要根据客户身份对地图进行排序,我在寻找解决方案,但我找不到。欢迎任何帮助。


共有1个答案

后焕
2023-03-14
匿名用户

您可以使用Comparator#comparingLong(函数)方法从条目对象键s中提取一个可比较的键:

map.entrySet().stream().sorted(Comparator.comparingLong(entry -> entry.getKey().getId()));

上述语句将流式传输Map条目,并按自然升序对它们进行排序

如果你想要反向顺序,你可以使用#反向比较器

map.entrySet().stream().sorted(Comparator.comparingLong(entry -> entry.getKey().getId()).reversed());

 类似资料:
  • 我有以下Java POJO 如何实现在游戏对象列表中确定重复字段的功能? 例如,当两个游戏有相同的开始日期? 我以前使用过,但仅在根据最早日期等对对象进行排序时使用过,但它能否用于对重复项进行排序?

  • 问题内容: 如何按其字段之一(例如或)对对象数组进行排序? 问题答案: 使用usort,这是从手册改编而成的示例: 您还可以将任何callable用作第二个参数。这里有些例子: 使用匿名函数(来自PHP 5.3) 从班级内部 使用箭头函数(来自PHP 7.4) 另外,如果要比较数字值,则应使用“比较”功能。

  • 我有一个物品清单,比如学生。学生有名字、中间名和姓氏` 假设在本例中,每个字段都可以为空。我想对列表进行排序,以便将所有空字段移到列表的末尾,并将所有非空字段移到列表的顶部。 我不需要基于实际的非空值进行排序。 例子: 有可能只有一个比较器来实现这一点,还是我需要单独的比较器?

  • 免责声明:我已经发布过这样一个问题,它被标记为重复。请帮帮我。我已经看过了stackoverflow之前的所有方法,但都没有任何帮助。在我的例子中,提到的所有对Map(Key,Values)进行排序的方法都不起作用,因为我还有一个步骤,即检索值的属性。这一次,我试着详细讲述。 我有一个地图(字符串,对象)在Java,我想排序它使用对象的属性之一。 假设我有一堂课 现在,我创建了一张地图 我想通过类

  • 我该怎么做?我尝试使用,但这不适用于对象。 我如何告诉Java使用分数作为比较的值?

  • 问题内容: 我有一个Java对象列表,希望根据多个字段进行排序。 是否可以使用或接口根据多个字段对列表进行排序?我看到的所有示例仅根据一个领域进行排序。换句话说,可以按“校园”或“教师”或“建筑”进行排序。我想按“校园”,“教师”,“建筑”(因为它在SQL中存在)进行排序 问题答案: 您的比较器如下所示: 基本上,只要到目前为止已比较的属性相等(),它就会继续比较类的每个连续属性。