How to filter list using Predicate
本问题已经有最佳答案,请猛点这里访问。
1 2 3 4 5 6 7 8 9 10 |
我有一个字符串列表,我想按指定的字符串筛选它,以便返回的值只包含指定字符串的列表。我将使用上面提到的谓词,但不确定如何应用它来筛选列表
我假设这里的
1 | Iterable<String> filtered = Iterables.filter(original, predicate); |
如果你想的话,就从中建立一个列表:
1 | List<String> filteredCopy = Lists.newArrayList(filtered); |
…但如果你真的想把它作为一个列表,我只建议把它复制到另一个列表。如果您只需要对它进行迭代(并且只迭代一次),那么请坚持使用iterable。
如何使用guava的filter方法或apache commons的filter方法?guava的方法返回集合的视图,而apache commons则就地修改集合。不要重新发明轮子!