SE_Stream流、可变参数

  • 可变参数:(即参数个数可变)
  • 可变参数底层结构数组类型
  • 当一个方法有多个参数时,可变参数必须放在最后面
  • list.of 、set.of、map.of 快速生成不可变集合,不可进行增删改,jdk9版本可用
  • Stream流:即筛选的意思(主要是操作文件)
  • 流程即 获取 – 筛选 – 收集 – 终结
  • 单列集合: 可以使用collection接口默认方法 对象名直接调用Stream方法
  • 双列集合:不可直接调用,先通过keyset或entryset,获得键集合或者键值对集合对象,返回值类型为set 即间接流
  • 数组:可以直接通过Arrays直接调用Stream,将数组作为参数传进去,生成流
  • Stream流中间操作方法:

public class demo1 {
    public static void main(String[] args) {
        //filter即过滤

        ArrayList<String> list = new ArrayList<>();
       // ArrayList<String> list2 = new ArrayList<>();
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");

        Stream<String> stream = list.stream();
        HashSet<String> set = new HashSet<>();
        // ArrayList<String> list2 = new ArrayList<>();
        set.add("5");
        set.add("5");
        set.add("5");
        set.add("8");


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


        //创建流,筛选,获取变量每一个元素
        list.stream().filter(number->number.startsWith("1")).forEach(s-> System.out.println(s));

       // limit保留截取前的元素
        Stream<String> limit = list.stream().limit(2);
        //limitmit.forEach(s-> System.out.println(s));
        System.out.println(limit);

       // ski保留截取前后面的元素
        list.stream().skip(3).forEach(s-> System.out.println(s));

         // concat合并流
        Stream<String> concat = Stream.concat(stream, stream1);
        concat.forEach(s-> System.out.println(s));

        Stream<String> distinct = set.stream().distinct();
        distinct.forEach(s-> System.out.println(s));

    }
}
  • 终结方法:

public class demo2 {
    public static void main(String[] args) {

        //终结方法
        ArrayList<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");

        //forEach 取出变量中每一个元素
        list.stream().forEach(s-> System.out.println(s));
        //count  返回变量中元素的个数
        long count = list.stream().count();
        System.out.println(count);
    }
}
  • 收集方法:
public class demo2 {
    public static void main(String[] args) {

        //终结方法
        ArrayList<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");
        list.add("4");


        //collect收集方法  list元素可重复
        List<String> collect = list.stream().collect(Collectors.toList());
        System.out.println(collect);

        //set 元素不可重复
        Set<String> collect1 = list.stream().collect(Collectors.toSet());
        System.out.println(collect1);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值