這裏可能缺少一些基本的東西,但是從列表中選擇符合某些條件的對象的最佳方法是什麼? 說我們有:從列表中選擇特定的對象用Java
class MyObject {
int id;
String type;
// getters..setters
}
我使用它:
List<MyObject> myObjects = new ArrayList<MyObject>();
myObjects = getListOfObjects();
現在讓我們說,在myObjects
有10個項目,其中3個有type=="bla"
。此刻,我只是循環所有對象,並在循環內決定是否需要它,但有沒有更好的方法?
我記得,在C#中我曾經有過類似
myObjects.Where(x => x.type.equals("bla"));
PS,我指定的Java 7所以沒有拉姆達我呢。
然後你已經做對了。 – 2014-10-07 10:59:33
如果您試圖避免循環遍歷列表並打算總是按類型檢索對象組,請考慮一個'Map>' –
2014-10-07 11:05:01
另一種替代方案可以是番石榴Multimap。在你的情況下,「bla」將是關鍵。 http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html – 2014-10-07 11:12:36