Stream流

传统方式遍历集合

/*
使用传统方式遍历集合
*/

public class demo01Stream {
public static void main(String[] args) {
    List<String> list =new ArrayList<>();
    list.add("sdsds");
    list.add("sdqqsds");
    list.add("sdseeeeeds");
    List<String> list1 =new ArrayList<>();
    for (String s : list) {
        if (s.startsWith("sdq")){
            list1.add(s);
        }
    }
    List<String> list2 =new ArrayList<>();
    for (String s : list) {
        if (s.length()==5){
            list2.add(s);
        }
    }
}
}

Stream流方式 遍历集合

/*
使用Stream流方式 遍历集合
*/

public class demo02Stream {
public static void main(String[] args) {
    List<String> list =new ArrayList<>();
    list.add("张某某");
    list.add("李某");
    list.add("梁某某");
    //对集合的元素进行名字过滤
    //对集合的元素进行名字长度过滤
    list.stream().filter(name->name.startsWith("张"))
            .filter(name->name.length()==3)
            .forEach(name-> System.out.println(name));
}
}

两种获取流的方式

/*
stream.Stream是java8新加入的最常用的流接口
获取流的常用方式:
defalut Streamstream()
stream接口的静态方法of可以获取数组对应的流
staticStreamof(T…values)
参数是一个可变参数,可以传递数组
*/

public class demoGetStream {
public static void main(String[] args) {
    //把集合转换为Stream流
    List<String> list = new ArrayList<>();
    Stream<String> stream = list.stream();

    Set<String> set = new HashSet<>();
    Stream<String> stream1 =set.stream();

    Map<String,String>map = new HashMap<>();
    //获取键,存储到一个set集合里
    Set<String>keyset=  map.keySet();
    Stream<String> stream2= keyset.stream();

    //获取值,存储到一个集合中
    Collection<String>values = map.values();
    Stream<String> stream3= values.stream();

    //获取键值对
    Set<Map.Entry<String,String>>entries =map.entrySet();
    Stream<Map.Entry<String,String>> stream4 =entries.stream();

    //把数组转换为stream流
    Stream<Integer>stream5= Stream.of(1,2,3,4,5);
    //可变参数传递数组
    Integer[] arr ={1,2,3,4,5};
    Stream<Integer>stream6 = Stream.of(arr);
    String[] arr2 ={"a","bb","ccc"};
    Stream<String> stream7 = Stream.of(arr2);
    
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值