gpt4 book ai didi

java - 根据对象列表中的某些字段获取最小对象

转载 作者:太空宇宙 更新时间:2023-11-03 12:14:10 26 4
gpt4 key购买 nike

我是 Android 开发的新手,我正在尝试找到基于 3 个字段从对象列表中获取最少对象的最佳方法。我有一个对象列表,每个对象有 4 个字段:NameState(int 值)、LSeconds(int 值)和 USeconds(整数值)。我想首先根据 State (最小状态值)获取最小对象,如果两个或多个对象具有相同的最小状态,则检查查找对象的 LSeconds 值如果这些也相同,则通过 USeconds 检查,如果有多个对象具有相同的最小 State,最后返回第一个,最小 LSeconds 和最小 USeconds。是否有可以自动执行此操作的函数,还是我需要使用 for 来执行此操作?

最佳答案

Java 没有对您要查找的对象进行排序的功能。如果你使用 StreamSupport虽然是 Java 库,但您可以使用一种方法,如下所示:

List<YourObject> result = list.stream().sorted((ob1, ob2)-> ob1.getState().
compareTo(ob2.getState())).
collect(Collectors.toList());

您可以使用此 lambda 来应用您正在寻找的逻辑(首先检查 State,然后是 LSeconds,等等)

PS:您可以使用 Kotlin 轻松完成此操作,如 this question

编辑:抱歉,实际上您可以使用 Java 8。检查@mạnh-quyết-nguyễn answer .

关于java - 根据对象列表中的某些字段获取最小对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50372673/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com