从列表中多选

时间:2012-12-06 20:38:13

标签: java swing list

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

1 个答案:

答案 0 :(得分:2)

你的方法很好。

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

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

但在此之前,你所拥有的是最简单的事情。