暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Java新特性解读JDK8之collector收集器

227decision 2020-02-12
788

collect()方法的作用

它是一个终端操作,对流中的元素进行收集。

collect()源码如下:

    //常用方法
    <R, A> R collect(Collector<? super T, A, R> collector);
    //复杂使用,自定义
    <R> R collect(Supplier<R> supplier,
    BiConsumer<R, ? super T> accumulator,
    BiConsumer<R, R> combiner);

    Collector作用

    collect()方法中的参数类型为Collector类型,是一个接口。

    Collectors作用

    工具类,提供了很多生成Collector对象的方法。

    Collectors使用,代码如下:

      package com.example.collectordemo;


      import java.util.Arrays;
      import java.util.LinkedList;
      import java.util.List;
      import java.util.Set;
      import java.util.stream.Collectors;


      public class CollectorDemo {
      public static void main(String[] args) {
      List<Integer> list = Arrays.asList(1,2,3);
      System.out.println("list: "+list);

      List<Integer> list2 = list.stream().collect(Collectors.toList());
      System.out.println("tolist(): "+list2);

      Set<Integer> set = list.stream().collect(Collectors.toSet());
      System.out.println("toSet(): "+set);

      //自定义实现Collection数据结构
      LinkedList<Integer> linkedList = list.stream().collect(Collectors.toCollection(LinkedList::new));
          System.out.println("linkedList :" +linkedList);
        }
      }



      文章转载自227decision,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论