如何根据某些属性对对象列表进行排序
我有一个简单的课程
和
骗子。 如何按升序排序
, 然后
? 有人可以帮忙吗? 我知道B. C++ 具有常用算法和过载运营商 <,, 但我是新的 Java.
</activealarm>
public class ActiveAlarm {
public long timeStarted;
public long timeEnded;
private String name = "";
private String description = "";
private String event;
private boolean live = false;
}
和
List<activealarm>
骗子。 如何按升序排序
timeStarted
, 然后
timeEnded
? 有人可以帮忙吗? 我知道B. C++ 具有常用算法和过载运营商 <,, 但我是新的 Java.
</activealarm>
没有找到相关结果
已邀请:
12 个回复
龙天
赞同来自:
执行
, 无论是实施
在一个单独的课堂上。 然后打电话:
或者
一般来说,这是实现的好主意
http://download.oracle.com/jav ... .html
, 如果有一种排序顺序 "natural"... 否则 /如果你
想要以一定的顺序排序,但有同样的缓解,你可以选择另一个顺序/ 更好地实现
http://download.oracle.com/jav ... .html
. 这种特殊情况可以朝着诚实的方向走,诚实......但我会
大概
, 遵守更灵活的版本
.
EDIT: 示例实现:
</activealarm></t></activealarm></activealarm>
卫东
赞同来自:
http://download.oracle.com/jav ... .html
例如
:
以。。。开始 Java 8, 你可以使用表达式 lambda 表示比较器实例。
</score></integer>
裸奔
赞同来自:
Lambda/
在 Java 8 介绍了表达式 Lambda, 让它变得更轻松! 而不是创建一个对象 Comparator// 通过其所有建筑林,您可以简化如下: /用你的对象作为一个例子/
甚至更短:
这是一个陈述相当于以下内容:
考虑表达式 Lambda 关于您只需要将其放在代码的适当部分中:方法的签名以及返回的内容。
您的问题的另一部分是关于如何与几个字段进行比较。 用表达式做 Lambda, 您可以使用该功能
有效地结合了两个比较:
上面的代码首先对列表进行排序
, 然后是
/对于那些具有相同的记录
/.
最后一注:易于比较 'long' 或者 'int' 原语,你可以简单地减去另一个。 如果你比较对象 /'Long' 或者 'String'/, 我建议你使用它的内置比较。 例子:
EDIT: 谢谢Lucas Edrie告诉我这个功能
.
</activealarm>
喜特乐
赞同来自:
:
1. 使用比较器
: 如有必要,请在几个地方使用排序逻辑
如果要在一个地方使用排序逻辑,则可以如下写匿名内部类,或删除比较器并在几个位置使用它
我们可以问 null 如果我们可以使用,请检查属性 'Long' 反而 'long'.
2. 使用可比性 /自然秩序/
: 如果排序算法始终遵守一个属性:
写一个实现方法的类 'Comparable' 并重新定义方法 'compareTo', 如下所定义
}
基于自然组织调用排序的排序方法
</o.gettimeended></o.gettimestarted></activealarm></activealarm>
莫问
赞同来自:
collectionObjec.sort/comparator_lamda/ 或比较/CollectionType::getterOfProperty/
代码 :
或者
涵秋
赞同来自:
它应该给你一个近似的观点。 完成后,您可以打电话
在列表中。
</activealarm>
詹大官人
赞同来自:
http://download.oracle.com/jav ... .html
和
https://docs.oracle.com/javase ... .html
例如
:
</score>
小明明
赞同来自:
番石榴岛 :
</activealarm>
莫问
赞同来自:
http://download.oracle.com/jav ... .List,%20java.util.Comparator%29
并转移自己
http://download.oracle.com/jav ... .html
风见雨下
赞同来自:
. 以下是对象列表的示例 CompanyRole, 首先排序开始,然后到最后。 您可以轻松适应您自己的对象。
</textcomponent>
江南孤鹜
赞同来自:
快网
赞同来自:
制作一个人的实现对象
或传递
到
如果你做两者,那么
将被忽略,
将会被使用。 它有助于物体 value 有自己的逻辑
, 这是您对象最合理的排序 value, 虽然每个人都有自己的实施。