首頁 > Java > java教程 > 如何透過codeIsin屬性有效率地尋找ArrayList中的Carnet物件?

如何透過codeIsin屬性有效率地尋找ArrayList中的Carnet物件?

Barbara Streisand
發布: 2024-12-19 13:07:10
原創
860 人瀏覽過

How to Efficiently Find a Carnet Object in an ArrayList by its codeIsin Property?

根據屬性值從 ArrayList 檢索物件

目前的任務是在其中找到一個特定的對象,即 Carnet 實例。 ArrayList

Java 8 流方法

Java 8 引入了流,它提供了一種簡潔而高效的方式來處理資料集合。要找到所需的物件:

public static Carnet findByCodeIsIn(Collection<Carnet> listCarnet, String codeIsIn) {
    return listCarnet.stream().filter(carnet -> codeIsIn.equals(carnet.getCodeIsin())).findFirst().orElse(null);
}
登入後複製

此方法利用stream()遍歷列表,並利用filter()只選擇具有匹配codeIsin值的物件。 findFirst() 檢索第一個符合元素,如果找不到符合項,orElse() 傳回 null。

通用實用類別方法

適用於多個物件類型(不僅僅是Carnet)或涉及多個搜尋屬性(不僅僅是codeIsin),考慮建立一個實用程式類別來封裝搜尋邏輯:

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()));
    }
    // Additional methods for other search criteria
}
登入後複製

這種方法集中了搜尋邏輯,並允許在不同的物件類型和搜尋屬性之間輕鬆重複使用。

以上是如何透過codeIsin屬性有效率地尋找ArrayList中的Carnet物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板