Lambda表达式作为Predicate的实现更多代码示例
时间: 2023-10-22 15:09:30 浏览: 81
好的,下面再给您提供几个Lambda表达式作为Predicate的实现的代码示例。
1. 筛选出字符串长度大于3的元素:
```
List<String> list = Arrays.asList("apple", "banana", "orange", "pear", "grape");
Stream<String> stream = list.stream().filter(s -> s.length() > 3);
stream.forEach(System.out::println);
```
输出结果为:
```
apple
banana
orange
grape
```
2. 筛选出年龄大于18岁的人:
```
List<Person> list = Arrays.asList(
new Person("Tom", 20),
new Person("Jerry", 16),
new Person("Alice", 22),
new Person("Bob", 18),
new Person("Mike", 25)
);
Stream<Person> stream = list.stream().filter(p -> p.getAge() > 18);
stream.forEach(System.out::println);
```
其中,Person是一个自定义的类,包含姓名和年龄两个属性,以及相应的get方法。输出结果为:
```
Tom, 20
Alice, 22
Mike, 25
```
3. 筛选出价格大于1000并且库存大于0的商品:
```
List<Product> list = Arrays.asList(
new Product("iPhone", 8000, 100),
new Product("iPad", 5000, 0),
new Product("MacBook", 12000, 50),
new Product("iWatch", 3000, 200),
new Product("AirPods", 1200, 0)
);
Stream<Product> stream = list.stream().filter(p -> p.getPrice() > 1000 && p.getStock() > 0);
stream.forEach(System.out::println);
```
其中,Product是一个自定义的类,包含商品名称、价格、库存三个属性,以及相应的get方法。输出结果为:
```
iPhone, 8000, 100
MacBook, 12000, 50
iWatch, 3000, 200
```
以上就是Lambda表达式作为Predicate的实现的几个示例,希望对您有所帮助。
阅读全文