首页 > 图灵资讯 > 技术篇>正文

使用 lambdas 如何创建自定义 Java 筛选器?

2024-10-14 13:11:37

在 java 中,使用 lambdas 创建自定义筛选器提供了简洁的方式来过滤数据,通过 predicate 接口和 lambda 表达式,可以根据指定条件从集合中筛选元素。例如,我们可以筛选出价格大于 100 的项目,语法如下:使用 predicate 接口,定义一个接受参数并返回布尔值的函数。传递 lambda 表达式作为 predicate 实例给 filter() 方法。通过 stream() 和 collect() 方法返回过滤后的数据。

使用 lambdas 如何创建自定义 Java 筛选器?

使用 Lambdas 创建自定义 Java 筛选器

在 Java 中,筛选器允许我们从集合中过滤元素。传统的筛选器使用匿名内部类,但 lambdas 提供了一种更简洁、更优雅的方式来创建这些筛选器。

使用 Lambda 表达式

立即学习“Java免费学习笔记(深入)”;

Lambda 表达式是匿名函数,它接受一个或多个参数并返回一个值。要创建自定义筛选器,我们可以使用 Predicate 接口,它接受一个参数并返回一个布尔值。然后,我们可以将 lambda 表达式作为 Predicate 实例传递给 filter() 方法。

语法:

List<Item> filtered = originalList.stream()
  .filter(item -> item.getPrice() > 100)
  .collect(Collectors.toList());

实战案例:

假设我们有一个 Item 类,其中包含每个项目的名称和价格:

public class Item {
  private String name;
  private double price;
}

现在,让我们创建一个 List 的 Item 并使用 lambda 表达式筛选出价格大于 100 的项目:

List<Item> items = new ArrayList<>();
items.add(new Item("Item 1", 120));
items.add(new Item("Item 2", 50));
items.add(new Item("Item 3", 200));

List<Item> filteredItems = items.stream()
  .filter(item -> item.getPrice() > 100)
  .collect(Collectors.toList());

System.out.println("Filtered Items:");
for (Item item : filteredItems) {
  System.out.println(item.getName() + ", " + item.getPrice());
}

输出:

Filtered Items:
Item 1, 120.0
Item 3, 200.0

以上就是使用 lambdas 如何创建自定义 Java 筛选器?的详细内容,更多请关注图灵教育其它相关文章!

上一篇 使用 Java varargs 参数简化 API 设计的实践?
下一篇 返回列表

文章素材均来源于网络,如有侵权,请联系管理员删除。