3

在我的 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;
}
4

1 回答 1

2

你的方法很好。

使用 Java8 lambdas,上面的代码会更容易编写:

public List<T> getByKey(Key key){
    return list.stream().filter(e -> e.qualifiedBy(key)).into(someListClass());
}

但在那之前,你所拥有的是最简单的。

于 2012-12-06T20:46:45.457 回答