Stream.中常用方法Filter Map


Person result1 = collection.stream() // 转化为流
.filter(x -> "张三".equals(x.getName())) // 只过滤出"张三"
.findAny() // 如果找到了就返回
.orElse(null);

 

 

public class Demo {
public static void main(String[] args) {
Stream.of("小王:18","小杨:20")//使用Stream中的of方法传入两个字符串
.map(new Function<String, People>() {
/*调用Stream中的map方法,使用匿名接口Function,
需要重写Function中的抽象方法apply,apply方法需要传入两个数据,
前一个为转化前的String类型,后一个为转化后的对象类型*/
@Override
public People apply(String s) {//传入要转变的参数
String[] str = s.split(":");
//调用String中的split方法,以:切割,定义一个字符串接收切割后的字符串数据
People people = new People(str[0],Integer.valueOf(str[1]));//对象家接收匿名对象切割后的元素。数组索引0为字符串,数组索引1为数字
return people;//返回people类型对象
}
}).forEach(people-> System.out.println("people = " + people));
//使用Stream中的forEach遍历People中的对象,使用了Lambda方式,重写了方法遍历输出
}
}
————————————————
版权声明:本文为CSDN博主「VenMan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45531950/article/details/99664197

posted @ 2022-04-11 17:04  十三‘  阅读(250)  评论(0编辑  收藏  举报