我有一类称为Contact
具有Date lastUpdated;
可变的。
我想Contact
退出List<Contact>
具有最大lastUpdated
变量的。
我知道可以通过编写一个自定义比较器并使用来完成此操作Collections.max
,但是我想知道在Java
8中是否可以通过使用自定义比较器来完成此操作,因为我只想使用一个最长日期仅出现在我的代码中的某个位置,并且Contact
该类不应始终使用lastUpdated
变量来比较实例。
并且Contact类不应该总是使用lastUpdated变量来比较实例
因此,每当要按实例的lastUpdated
属性比较多个实例时,就必须提供一个自定义比较器,因为这意味着该类在默认情况下无法与此字段进行比较。
Comparator<Contact> cmp = Comparator.comparing(Contact::getLastUpdated);
如您所知,您可以使用Collections.max
或Stream API来根据该字段获取max实例,但是您不可避免地要编写自定义比较器。
我必须得到包含最大值的对象列表。Java8中的比较器max只返回一个对象。 为了做到这一点,我必须流式地显示两次列表: 这个解决方案有效。我想有一个更好的方法来解决这个问题,但我想不出来。
问题内容: 当存在时,是否有可能获得全部列表?是否为此准备了电话,还是我必须编写一个foreach循环,如: 问题答案: Java 8及更高版本: 如果需要确保得到结果,则必须将最后一行更改为: Java 7及以下版本: Java 8之前的标准集合API不支持这种转换。您必须编写一个循环(或将其包装在您自己的“地图”函数中),除非您使用一些更高级的集合API /扩展。 (您的Java代码段中的行正
我有这样的课: 和类似的列表,其中填充了元素。 如何使用Java8获得的最小值和最大值?
获取所有名称为“Sam”的对象。
我有一个包含如下值的对象 这些都在变量autossuggest中。现在我只想获得值 谢谢你的小费
问题内容: 是否有一种简单的方法可以从对象数组列表中的一个对象的字段中获取最大值? 例如,出于下面的对象,我希望获得“值”字段的最高值。 我想从中获取ValuePairs.mValue的最大值的示例arraylist。 创建存储在arraylist中的对象的类: 我正在通过做类似的事情来获取mValue的最大值(我知道这是不正确的): dMax应该为50.00。 任何帮助表示赞赏。谢谢! 问题答案