从具有相同值的数组中获取元素的子集

时间:2013-02-14 19:58:50

标签: java

是否有任何集合API方法从数组或集合中提取相同的元素?

例如SomeClass.getElements(“Test”)应该返回一个数组的子集,该数组包含值为“Test”的元素。

提出这个问题的原因是因为我想避免自己的遍历和条件检查。

的问候,
Sudhakar

2 个答案:

答案 0 :(得分:2)

如评论中所述,(目前)没有简单的方法可以做到这一点。您可以做的最好的事情类似于http://docs.oracle.com/javase/6/docs/api/java/io/FilenameFilter.html,您可以在其中创建一个接受元素的接口,同时迭代它。

或者,您可以执行以下操作:What is the best way to filter a Java Collection?,这会让您陷入功能编程之中。

答案 1 :(得分:1)

如果你使用Apache collections api,你可以这样做:

Predicate predicate = PredicateUtils.equalPredicate("Test");
Collection result = CollectionUtils.find(someCollection, predicate);