我是Android开发的新手,我正在尝试找到基于3个字段从对象列表中获取最小对象的最佳方法.
我有一个对象列表,每个对象有4个字段:Name,State(int value),LSeconds(int value)和USeconds(int value).
我希望首先通过State获取最小对象(最小状态值),如果两个或多个对象具有相同的最小状态,则检查查找对象的LSeconds值,如果这些也是相同的,则按USeconds检查并且在如果有多个具有相同最小状态的对象,最小LSeconds和最小USeconds,则返回第一个.是否有一个可以自动执行此操作的功能,或者我是否需要通过使用for来执行此操作?
解决方法:
在java 8中,您可以使用Comparator:
Comparator comparator = Comparator.comparing(YourObject::getState)
.thenComparing(YourObject::getLSeconds)
.thenComparing(YourObject::getUSeconds);
然后你可以对列表进行排序:Collections.sort(yourList,comparator);
标签:android,java,collections
来源: https://codeday.me/bug/20190727/1549793.html