java8 stream api 一览表

List 转 Stream

// 转stream
list.stream()

// 并发处理
list.parallelStream()

filter(过滤)

Stream<T> filter(Predicate<? super T> predicate);

 

map(元素转换)

<R> Stream<R> map(Function<? super T, ? extends R> mapper);

IntStream mapToInt(ToIntFunction<? super T> mapper);

LongStream mapToLong(ToLongFunction<? super T> mapper);

DoubleStream mapToDouble(ToDoubleFunction<? super T> mapper);

 

flatMap(元素转换)

<R> Stream<R> flatMap(Function<? super T, ? extends Stream<? extends R>> mapper);

IntStream flatMapToInt(Function<? super T, ? extends IntStream> mapper);

LongStream flatMapToLong(Function<? super T, ? extends LongStream> mapper);

DoubleStream flatMapToDouble(Function<? super T, ? extends DoubleStream> mapper);

 

distinct(去除重复,对象需要重写 equals、hashCode)

Stream<T> distinct();

 

sorted(排序)

Stream<T> sorted();

Stream<T> sorted(Comparator<? super T> comparator);

 

peek(生成新的流:流是单向的,例如用于日志打印)

Stream<T> peek(Consumer<? super T> action);

 

limit(取前面 n 个元素)

Stream<T> limit(long maxSize);

 

skip(跳过 n 个元素)

Stream<T> skip(long n);

 

forEach(遍历)

void forEach(Consumer<? super T> action);

void forEachOrdered(Consumer<? super T> action);

 

toArray(转换成数组)

Object[] toArray();
<A> A[] toArray(IntFunction<A[]> generator);

 

reduce(结果归并)

T reduce(T identity, BinaryOperator<T> accumulator);

Optional<T> reduce(BinaryOperator<T> accumulator);

<U> U reduce(U identity,
            BiFunction<U, ? super T, U> accumulator,
            BinaryOperator<U> combiner);

 

collect(转换成集合)

<R> R collect(Supplier<R> supplier,
             BiConsumer<R, ? super T> accumulator,
             BiConsumer<R, R> combiner);

<R, A> R collect(Collector<? super T, A, R> collector);

 

转list

// 转list
Collectors.toList();

// 转set
Collectors.toSet();

// 转map
List<TestVo> testList = new ArrayList<>(10);

Map<Long, TestVo> data = releaseList.stream()
       .collect(Collectors.toMap(TestVo::getId, x -> x));

 

count(计数)

long count();

 

查找

boolean anyMatch(Predicate<? super T> predicate);

boolean allMatch(Predicate<? super T> predicate);

boolean noneMatch(Predicate<? super T> predicate);

 

查找

Optional<T> findFirst();

Optional<T> findAny();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值