博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 8 Streams filter examples
阅读量:5782 次
发布时间:2019-06-18

本文共 2809 字,大约阅读时间需要 9 分钟。

1. Streams filter() and collect()

package com.mkyong.java8;

import java.util.Arrays;

import java.util.List;
import java.util.stream.Collectors;

public class NowJava8 {

public static void main(String[] args) {

List<String> lines = Arrays.asList("spring", "node", "mkyong");

List<String> result = lines.stream() // convert list to stream

.filter(line -> !"mkyong".equals(line)) // we dont like mkyong
.collect(Collectors.toList()); // collect the output and convert streams to a List

result.forEach(System.out::println); //output : spring, node

}

}

Output

spring
node

2. Streams filter(), findAny() and orElse()
package com.mkyong.java8;

import java.util.Arrays;

import java.util.List;

public class NowJava8 {

public static void main(String[] args) {

List<Person> persons = Arrays.asList(

new Person("mkyong", 30),
new Person("jack", 20),
new Person("lawrence", 40)
);

Person result1 = persons.stream() // Convert to steam

.filter(x -> "jack".equals(x.getName())) // we want "jack" only
.findAny() // If 'findAny' then return found
.orElse(null); // If not found, return null

System.out.println(result1);

Person result2 = persons.stream()
.filter(x -> "ahmook".equals(x.getName()))
.findAny()
.orElse(null);

System.out.println(result2);

}

}

Output

Person{name='jack', age=20}
null

2.3 For multiple condition.

NowJava8.java

package com.mkyong.java8;

import java.util.Arrays;

import java.util.List;

public class NowJava8 {

public static void main(String[] args) {

List<Person> persons = Arrays.asList(

new Person("mkyong", 30),
new Person("jack", 20),
new Person("lawrence", 40)
);

Person result1 = persons.stream()

.filter((p) -> "jack".equals(p.getName()) && 20 == p.getAge())
.findAny()
.orElse(null);

System.out.println("result 1 :" + result1);

//or like this

Person result2 = persons.stream()
.filter(p -> {
if ("jack".equals(p.getName()) && 20 == p.getAge()) {
return true;
}
return false;
}).findAny()
.orElse(null);

System.out.println("result 2 :" + result2);

}

}
Output

result 1 :Person{name='jack', age=20}
result 2 :Person{name='jack', age=20}

3. Streams filter() and map()

NowJava8.java

package com.mkyong.java8;

import java.util.Arrays;

import java.util.List;
import java.util.stream.Collectors;

public class NowJava8 {

public static void main(String[] args) {

List<Person> persons = Arrays.asList(

new Person("mkyong", 30),
new Person("jack", 20),
new Person("lawrence", 40)
);

String name = persons.stream()

.filter(x -> "jack".equals(x.getName()))
.map(Person::getName) //convert stream to String
.findAny()
.orElse("");

System.out.println("name : " + name);

List<String> collect = persons.stream()

.map(Person::getName)
.collect(Collectors.toList());

collect.forEach(System.out::println);

}

}
Output

name : jack

mkyong

jack
lawrence

源文
https://www.mkyong.com/java8/java-8-streams-filter-examples/

转载地址:http://uhcyx.baihongyu.com/

你可能感兴趣的文章
多项式前k项和java_多项式朴素贝叶斯softmax改变
查看>>
OracleLinux安装说明
查看>>
使用@media实现IE hack的方法
查看>>
oracle体系结构
查看>>
使用CocoaPods过程中的几个问题
查看>>
机房带宽暴涨问题分析及解决方法
查看>>
XP 安装ORACLE
查看>>
八、 vSphere 6.7 U1(八):分布式交换机配置(vMotion迁移网段)
查看>>
php5编译安装常见错误和解决办法集锦
查看>>
ORACLE配置,修改tnsnames.ora文件实例
查看>>
我的友情链接
查看>>
JS中比较数字大小
查看>>
jQuery插件的开发
查看>>
基础,基础,还是基础之JAVA基础
查看>>
haproxy mysql实例配置
查看>>
MySQL 8.0 压缩包版安装方法
查看>>
JS prototype 属性
查看>>
iphone-common-codes-ccteam源代码 CCEncoding.m
查看>>
nginx中配置文件的讲解
查看>>
HTTP库Axios
查看>>