Stream流的基本运用&&集合和数组获取Stream流的方式

import java.util.*;
//stream流基本概念
public class stream_1 {
    public static void main(String[] args) {
        Collection<String> c1=new ArrayList<>();
        Collections.addAll(c1,"张三丰","张无忌","张某","周芷若");
        System.out.println(c1);

        //用集合的方式实现输出三个字的姓张的名字
        List<String> list=new ArrayList<>();
        //遍历c1集合
        for(String name:c1){
            //如果姓张则输出
            if(name.startsWith("张")){
                list.add(name);
            }
        }
        System.out.println(list);

        List<String> list2=new ArrayList<>();
        for(String names:list){
            //如果是三个字的则输出
            if(names.length()==3){
                list2.add(names);
            }
        }
        System.out.println(list2);

        //用stream流实现输出三个字姓张的名字
        //stream支持链式连接
        //stream()中的filter()方法的作用是过滤
        c1.stream().filter(s->s.startsWith("张")).filter(s->s.length()==3).forEach(s-> System.out.print(s+"\t"));
        System.out.println();
        //stream另一种方式
        c1.stream().filter(s->s.startsWith("张")&&s.length()==3).forEach(s-> System.out.print(s+"\t"));
    }
}
class str{
    public static void main(String[] args) {
        //Collection集合获取stream流
        Collection<String> co=new ArrayList<>();
        Stream<String> s=co.stream();
        //Map集合获取Stream流
        Map<String,Integer> map=new HashMap();
        //键流
        Stream<String> key=map.keySet().stream();
        //值流
        Stream<Integer> value=map.values().stream();
        //键值对流(拿整体)
        Stream<Map.Entry<String,Integer>> kvstream=map.entrySet().stream();
        //----------------数组获取Stream流-------------
        String str[]={"张三丰","张无忌","周芷若"};
        Stream<String> name=Arrays.stream(str);
        Stream<String> names=Stream.of(str);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_62731133/article/details/123922102