过滤Java集合的最佳方法是什么?

我想过滤java.util.Collection基于谓词的。

回答:

Java 8(2014)在一行代码中使用流和lambda解决了此问题:

List<Person> beerDrinkers = persons.stream()

.filter(p -> p.getAge() > 16).collect(Collectors.toList());

这是一个教程。

使用Collection#removeIf修改收集到位。(注意:在这种情况下,谓词将删除满足该谓词的对象):

persons.removeIf(p -> p.getAge() <= 16);

lambdaj允许过滤集合而无需编写循环或内部类:

List<Person> beerDrinkers = select(persons, having(on(Person.class).getAge(),

greaterThan(16)));

你能想象一些更具可读性的东西吗?

以上是 过滤Java集合的最佳方法是什么? 的全部内容, 来源链接: utcz.com/qa/401523.html

回到顶部