Java 8:按属性对对象列表进行排序,无需自定义比较器

2023-11-29

完成这项工作最干净的捷径是什么?

class AnObject{
    Long  attr;
}

List<AnObject> list; 

我知道可以使用自定义比较器来完成AnObject。难道没有现成的东西可以应对这种情况吗?

有点像这样:

Collections.sort(list, X.attr);

假设你实际上有一个List<AnObject>, 所有你需要的是

list.sort(Comparator.comparing(a -> a.attr));

如果您不使用公共字段而是使用访问器方法来使代码干净,那么它会变得更加干净:

list.sort(Comparator.comparing(AnObject::getAttr));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 8:按属性对对象列表进行排序,无需自定义比较器 的相关文章

  • R:ifelse 中的字符串列表

    我正在寻找与 MySQL 中的 where var in 语句类似的东西 我的代码如下 data lt data frame id 10001 10030 cc1 rep c a b c 10 attach data data new lt
  • 角度垫排序不适用于带点表示法的 matColumnDef

    我正在尝试按列对表进行排序 当我必须过滤另一个结果中的结果时 就会出现问题 我尝试通过括号表示法和点表示法访问该属性 但没有给出结果 还将最终节点放置在 matColumnDef 中 但失败 因为有 2 列同名 table table
  • 以下 PLINQ 代码没有改进

    我没有看到使用以下代码的处理速度有任何改进 IEnumerable
  • 计算数组中的唯一元素而不排序

    在 JavaScript 中 以下代码将查找数组中的元素数量 假设数组中至少有一个元素 arr jam beef cream jam arr sort var count 1 var results for var i 0 i lt arr
  • scala 返回列表中的第一个 Some

    我有一个清单l List T1 目前我正在执行以下操作 myfun T1 gt Option T2 val x Option T2 l map myfun l flatten find gt true The myfun函数返回 None
  • 负整数的基数排序

    我正在尝试对整数 包括负整数 实现基数排序 对于非负整数 我计划为数字0 9创建一个10个队列的队列 并实现LSD算法 但我对负整数有点困惑 我现在的想法是继续为它们创建另一个包含 10 个队列的队列 并分别对它们进行排序 然后在最后 我将
  • 根据 Pandas 中的列表对多列进行排序

    感谢有关如何根据 pandas 中的倍数列表对给定多列进行排序的任何提示 如下所示 import pandas as pd sort a a d e sort b s1 s3 s6 sort c t1 t2 t3 df pd DataFra
  • 使用字符串中的变量名称访问变量值,R

    Intro 一个数据集有大量的age year变量 age 1990 age 1991 etc 我有一个字符串值数组length age years 表示这些变量 使得age years 1 回报 age 1990 etc Need 我想搜
  • 如何将Scheme中的函数应用于另一个函数返回的参数列表?

    假设有两个函数 f 和 v 进一步假设 v 返回长度为 n 的列表 并且 f 需要恰好 n 个参数 我正在Scheme中寻找正确的语法 以将f应用于v返回的列表 如果我使用语法 f v v arguments 然后我收到一个关于 f 需要
  • python中如何对多个条件进行排序?

    我有一个包含子列表的列表 如下所示 result helo 10 bye 50 yeah 5 candy 30 我想用三个条件来排序 首先 按子列表索引 2 中的最高整数 然后按子列表索引 1 中单词的长度 最后按子列表第 1 个索引中的字
  • 在 Django 模板中使用 forloop.counter 值作为列表索引

    在我的 Django 1 1 1 应用程序中 我在视图中有一个函数 它向模板返回一系列数字和项目列表列表 例如 data item1 item2 item3 item4 item5 item6 item7 item8 item9 retur
  • jQuery 表格排序

    我有一个非常简单的 HTML 表格 有 4 列 Facility Name Phone City Specialty 我希望用户能够排序设备名称 and City only 我如何使用 jQuery 进行编码 我发现了这个 我想我应该投入
  • 需要在R中按行绑定列表数据

    我在 R 中按行绑定列表时遇到问题 我的列表数据集是 id 1 data k 1 id k b c 1 1 1 3 data k 2 id k b c 1 2 1 4 id 2 data k 1 id k b c 2 1 1 6 data
  • 如何按用户定义(例如非字母顺序)对数据框进行排序[重复]

    这个问题在这里已经有答案了 给定一个数据框dna gt dna chrom start chr2 39482 chr1 203918 chr1 198282 chrX 7839028 chr17 3874 以下代码重新排序dna by ch
  • Vaadin 网格表:如何禁用排序功能并设置一列的颜色

    我在用着GridVaadin 中的表用于数据表示 为此 我试图弄清楚以下两个问题 1 如何禁用每列标题中的排序功能 2 如何设置表格中某一列的颜色Grid table 首先 我找到了Vaadin 文档 https vaadin com do
  • Python排序算法[重复]

    这个问题在这里已经有答案了 我在Python中实现了不同的排序算法 以更好地理解它们 我想知道Python的内置排序方法实现什么类型的排序 这是一个叫做Timsort http en wikipedia org wiki Timsort由
  • 当顺序很重要时如何从元组列表中删除重复项

    我看过一些类似的答案 但我找不到针对这种情况的具体内容 我有一个元组列表 5 0 3 1 3 2 5 3 6 4 我想要的是仅当元组的第一个元素先前出现在列表中并且剩余的元组应该具有最小的第二个元素时 才从该列表中删除元组 所以输出应该是这
  • PYTHON 从嵌套列表中删除元素

    我有一个像这样的数组 dataSet 387230 296163 323434 311472 323412 166282 410119 我想删除元素 311472 但不知道如何删除 我努力了 for set in dataSet for i
  • 什么是拉姆达?

    有人可以很好地描述什么是 Lambda 吗 我们为它们设置了一个标签 它们涉及 C 问题的秘密 但我还没有找到一个很好的定义和解释来解释它们是什么 闭包 lambda 和匿名函数不一定是同一件事 匿名函数是任何没有 或者至少不需要 自己名称
  • Swift 使用哪种通用排序算法?它在排序数据上表现不佳

    我一直在挑选和探索 Swift 标准库sort 其函数为Array类型 令我惊讶的是 我注意到它在已经排序的数据上表现不佳 对数组进行排序Int打乱顺序似乎比对已经排序的同一个数组进行排序快 5 倍 对已打乱顺序的对象数组进行排序比对已按排

随机推荐

  • 如何终止 BufferedInputStream .read() 调用

    我正在编写一个程序来从服务器下载非常大的文件 2GB 我编写的程序能够恢复部分完成的下载 为了模拟糟糕的互联网连接 我在下载过程中将以太网线从路由器中拔出 不幸的是 这导致我的程序挂起以下调用 while bytesRead in read
  • 使用正则表达式验证 IP

    我需要验证格式为 000000000 到 255255255 的 IP 范围 3 组数字之间没有任何分隔符 最终 IP 所包含的三组中的每一组都应为 000 是的 用 0 填充 到 255 由于这是我的第一个 stackoverflow 条
  • 如何从远程主机的以太网地址获取其IP地址?

    我正在寻找一些 Linux 代码来从以太网地址查找 IP 地址 我想我必须做一些反向 A RP 欺骗 但我没有找到任何例子 http compnetworking about com od networkprotocolsip f conv
  • Android 谷歌地图在 Zoom 上调整标记大小

    我需要在一个较小的区域中显示大约 30 个标记 当用户更改缩放比例时 是否可以调整 Google Maps API V2 标记的大小 或者我应该使用较小的图像 提前致谢 如果你想在缩放时做一些事情 你可以创建一个扩展原始MapView的自定
  • 副SIM卡的MNC和MCC

    我知道使用TelephonyManager我们可以获得我们网络提供商的MNC和MCC TelephonyManager tel TelephonyManager getSystemService Context TELEPHONY SERV
  • 如何在Python中只打印一个新行? “\n”没有给我想要的效果

    我很清楚print n 但这在我的cmd中给出了这个结果 第一个输出 带有 原始 列表 继续到下一行 但使用 n似乎跳过了一行 我怎样才能确保print pretty函数转到下一行 而不是跳过一行 到目前为止 这是我的代码 board fo
  • 如何在 symfony yml 配置文件中从 docker 获取环境变量

    在 docker compose yml 中 mysql image mysql latest container name mysql environment MYSQL ROOT PASSWORD root MYSQL DATABASE
  • 计算两个给定日期之间的天数

    任何人都可以纠正我的脚本中的错误来计算两个日期之间的天数 日期已通过表格输入 变量信息如下 departon gt Array 0 gt 1 1 gt June 2 gt 2011 returnon gt Array 0 gt 31 1 g
  • CancellationTokenSource 的行为不符合预期

    在这种情况下 预期的是 如果用户通过按回车键取消任务 则另一个任务会被挂钩ContinueWith会运行 但事实并非如此 根据AggregateException尽管在中进行了显式处理 但仍会抛出ContinueWith这显然没有被执行 请
  • gvisTables 未在闪亮的应用程序中呈现

    我试图解决的实际问题 我正在创建一个包含数据表的仪表板 我希望用逗号将数字格式化为千位分隔符 但是当 DT 包与 Shiny 一起使用时 它 显然 存在问题 因为逗号分隔的格式会导致 DT renderDataTable 将数字读取为字符
  • 如何在 QLineEdit 中放置静态文本(后缀、前缀)?

    如何将静态文本放入QLine编辑在 Qt C 中 这样它就不能被删除 并且当我写入 QLineEdit 时 它不应该被分隔 没有常规的方法来放置前缀或后缀QLabel 占位符 只要你能做到QLineEdit是设置一个文本 当里面没有文本时将
  • moveRowAtIndexPath - 在部分之间移动单元格

    在我的 UITableView 中我有这样的关系 Department lt Employees 名称数组 我已经为每个模型设置了自定义对象 In my moveRowAtIndexPath 我可以移动到特定的部分 但是 如果我尝试在部分之
  • 如何设置量角器以使用 requirejs 导入 AMD 模块

    我正在尝试在量角器测试中导入 AMD 模块 ES6 模块在 ES5 中转译 我正在使用页面对象图案 页面对象是我要导入的模块 这是 ES6 代码 import HelloPage from HelloPage describe The de
  • 用引号括起来

    在 Eclipse JDT 中如何将多行选择转换为字符串 就像下面这样 From xxxx yyyy zzz To xxxx yyyy zzz 我尝试了以下模板 line selection cursor 但这样我只能将整个块包围起来 而不
  • Apps 脚本对话框中的 CSS

    我不是 Web 开发人员 过去只使用过一次 CSS 使用CSS的流程是怎样的 这可能吗 var pointsSheet SpreadsheetApp openById 1o8 f063j1jYZjFEnI P7uAztpnEAvQ6mc3Z
  • 在 Golang 中深度复制地图

    据我了解 地图是 Go 中的引用类型 所以赋值会做浅拷贝 我计划在 golang 中对 Maps 进行递归深度复制 递归是因为我正在处理一个包含 JSON 未编组内容的映射 func deepCopyJSON src map string
  • 不正确的函数声明语法错误:意外的cornerFinder,期望(

    当我尝试运行此代码时收到此错误 语法错误 意外的cornerFinder 期望 case v2 func cornerFinder censusData CensusGroup if len censusData lt 10000 for
  • PHP 的 Facebook HipHop 虚拟机?

    我看过这篇文章 HipHop PHP Facebook 的 Hyper PHP 不过最近遇到这个Facebook 通过 HipHop 虚拟机 加快开发速度 PHP 执行器速度提高 60 有人有这方面的详细信息吗 它值得 PHP 开发人员探索
  • 将对象传递到选项卡应用程序中的另一个视图控制器[重复]

    这个问题在这里已经有答案了 我想知道如何将对象从视图控制器传递到选项卡应用程序中的另一个视图控制器 到目前为止我已经这样做了 我在 Xcode 中创建了 选项卡应用程序 然后我得到两个视图控制器 FirstViewController 和
  • Java 8:按属性对对象列表进行排序,无需自定义比较器

    完成这项工作最干净的捷径是什么 class AnObject Long attr List