首页 > Java > java教程 > 如何通过属性值高效查找ArrayList中的对象?

如何通过属性值高效查找ArrayList中的对象?

Susan Sarandon
发布: 2024-12-06 20:58:13
原创
700 人浏览过

How to Efficiently Find an Object in an ArrayList by Property Value?

通过属性在 ArrayList 中查找对象

给定一个包含 Carnet 类对象的 ArrayList,我们如何高效地检索基于属性的特定对象关于特定属性的值,例如 codeIsin?

解决方案(Java 8 Streams):

在 Java 8 中,我们可以利用流来简洁地执行此操作:

public static Carnet findByCodeIsIn(Collection<Carnet> listCarnet, String codeIsIn) {
    return listCarnet.stream().filter(carnet -> codeIsIn.equals(carnet.getCodeIsin())).findFirst().orElse(null);
}
登录后复制

实用类方法(可选):

如果我们需要跨许多不同的类或不同的属性执行此类查找,我们可以将此逻辑封装在实用程序类:

public final class FindUtils {
    public static <T> T findByProperty(Collection<T> col, Predicate<T> filter) {
        return col.stream().filter(filter).findFirst().orElse(null);
    }
}

public final class CarnetUtils {
    public static Carnet findByCodeTitre(Collection<Carnet> listCarnet, String codeTitre) {
        return FindUtils.findByProperty(listCarnet, carnet -> codeTitre.equals(carnet.getCodeTitre()));
    }

    // Similar methods for other properties (e.g., findByNomTitre, findByCodeIsIn)
}
登录后复制

这种方法提供了更可重用的解决方案,并允许轻松修改搜索条件。

以上是如何通过属性值高效查找ArrayList中的对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板