[英]segregating sub lists from a list of objects
我有一個每天都會得到的類似物體(例如玩具)的數組列表。
List<Toy> toyList;
玩具豆將具有四個屬性,分別是名稱,類型,代碼,數字。
我想輸出一個報告,總結玩具的類型和代碼,如下所示:
One
name type number
--------------------------------
abc 1 19
pqr 1 20
Code 1 total 39
lmn 9 15
Code 9 total 15
========================================
Two
name type number
--------------------------------
hmn 6 18
efg 6 20
Code 6 total 38
jkl 5 15
Code 5 total 15
為了輕松地從列表中創建此類報告,我必須將列表分為兩個級別:首先基於類型(一個和兩個),然后基於當今可用的代碼(並非每天都有所有代碼) 。
最有效的方法是什么?
我可以通過遍歷主列表並創建子列表來實現。 但是,如何處理所有代碼每天都將不可用的部分呢? 如何僅為今天可用的代碼創建子列表?
謝謝閱讀!
您可以遍歷所有玩具並獲取Set
,類型,代碼等。您可能希望將其設為SortedSet,以便它們以一致的順序出現。
Set<Type> types = EnumSet.noneOf(Type.class);
SortedSet<String> codes = new TreeSet<String>();
for(Toy toy: toys) {
types.add(toy.getType());
codes.add(toy.getCode());
}
查看Lambdaj庫的分組功能 (滾動到“分組項目”部分)。
您可以嘗試使用以下任何一種庫:
Apache Commons-謂詞功能可根據值過濾集合
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.