根據屬性值從 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中文網其他相關文章!