在我的Java应用程序中,我需要从列表中进行某种多项选择,除了像这样的自我实现的功能之外,还有什么办法:
private List<T> list = someListClass(); //Contains the data
public List<T> getByKey(Key key){
List<T> returnList = someListClass();
for(Element e : list){
if(e.qualifiedBy(key)) returnList.add(e);
}
return returnList;
}
答案 0 :(得分:2)
你的方法很好。
使用Java8 lambdas,上面的内容会更容易编写:
public List<T> getByKey(Key key){
return list.stream().filter(e -> e.qualifiedBy(key)).into(someListClass());
}
但在此之前,你所拥有的是最简单的事情。