jdk 1.8新特性之Stream流

Stream概述:

对集合或数组元素进行操作的技术

可以将Stream流比做流水线,通过Stream流上的一道道工序(方法),对集合中的元素加工处理

Stream流对象:
单列对象:
集合对象.stream()

双列集合:
map.keyset().stream()得到键流
map.values().stream()得到值流
map.entryset().stream()得到entry流

public class test {

    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        //获得流对象
        Stream<String> stream = list.stream();
        
        Map<String,String> map=new HashMap<>();
        //获得流对象
        Stream<String> key = map.keySet().stream();
        Stream<String> values = map.values().stream();
        Stream<Map.Entry<String, String>> entry = map.entrySet().stream();
    }
}

Stream常用方法:

常用方法作用格式
map映射,将当前流中的元素从一个类型转换为另一个类型Stream<R> map(Function<T, R> mapper);
filter对流中的元素过滤筛选Stream<t> filter(Predicate<t> predicate ) ;
count获得流元素个数
forEach用来遍历流中的元素
collect收集流中的元素,把流处理后的结果收集出来,可以收集到list,set、map集合;
limit获取前n个元素,参数范围 [0,正无穷]Stream<t> limit(long n);
skip用来跳过前n个元素,就相当于过滤掉前n个元素Stream<t> skip(long n);
public class test {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        list.add("3");
        //获得流对象
        Stream<String> stream = list.stream();
        //这是lambda表达式省略之后的,把所有值都转换成int类型的
        Stream<Integer> intList = stream.map(t -> Integer.parseInt(t));
        //遍历流对象,然后输出int+1
        intList.forEach(str -> System.out.println(str+1));
    }
}

Stream流使用注意事项:

流一旦使用一次之后,就不能再使用了,每个流只能调用一次流方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值