Java 8流api是一个非常好的特性,我非常喜欢它。有一件事让我心烦意乱,那就是90%的时间我希望输入作为集合,输出作为集合。结果是我不得不一直调用stream()
和collect()
方法:
collection.stream().filter(p->p.isCorrect()).collect(Collectors.toList());
有没有什么java api可以让我跳过流,直接操作集合(就像c#中的linq
?):
collection.filter(p->p.isCorrect)
发布于 2016-05-10 05:58:39
如果你想对集合进行操作,Guava's FluentIterable是个不错的选择!
示例(获取前10个vip客户的id):
FluentIterable
.from(customers)
.filter(customer -> customer.isVIP())
.transform(Client::getId)
.limit(10);
发布于 2016-05-10 04:02:48
发布于 2016-05-10 03:47:12
如果在不修改原始集合的情况下需要过滤视图,可以考虑使用Guava的Collections2.filter()
。
https://stackoverflow.com/questions/37124120
复制相似问题