[Java基础]体验Stream流
Posted Wecccccccc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Java基础]体验Stream流相关的知识,希望对你有一定的参考价值。
代码如下:
package StreamTest;
import java.lang.reflect.Array;
import java.util.ArrayList;
public class StreamDemo {
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<String>();
list.add("Tom");
list.add("jack");
list.add("张敏");
list.add("张无忌");
list.add("刘洋");
list.add("Bom");
list.add("张曼玉");
ArrayList<String> zhangList = new ArrayList<String>();
for (String s:list)
{
if (s.startsWith("张"))
zhangList.add(s);
}
System.out.println(zhangList);
ArrayList<String> threeList = new ArrayList<String>();
for(String s:zhangList)
{
if (s.length()==3)
{
threeList.add(s);
}
}
System.out.println(threeList);
}
}
测试结果:
我们可以看到,按照需求实现以后,仅仅只是两个简单的过滤操作,我们就写了那么长的代码,那我们有没有办法有更好的方式实现这样的需求呢?
sure,用Stream流
代码如下:
package StreamTest;
import java.lang.reflect.Array;
import java.util.ArrayList;
public class StreamDemo {
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<String>();
list.add("Tom");
list.add("jack");
list.add("张敏");
list.add("张无忌");
list.add("刘洋");
list.add("Bom");
list.add("张曼玉");
//Stream流来改进
// list.stream().filter(s->s.startsWith("张")).filter(s->s.length()==3).forEach(s -> System.out.println(s));
list.stream().filter(s->s.startsWith("张")).filter(s->s.length()==3).forEach(System.out::println);
}
}
测试结果:
以上是关于[Java基础]体验Stream流的主要内容,如果未能解决你的问题,请参考以下文章