stream学习草稿

package com.jdk8;

import java.util.*;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class StreamTest {
    public static void main(String []args){
        List<String> list = Arrays.asList("a", "b", "c", "d", "e", "f", "g", "h");
        List<Integer> list1 = Arrays.asList(1,2,3,4,5,6,7,8,9,10,5);
        List<List<Integer>> list2 = Arrays.asList(Arrays.asList(1,2,3,4,5,6,7,8,9,10,5),
                Arrays.asList(1,2,3,4,5,6,7,8,9,10,5));
       /* ArrayList arrayList = list.stream().peek(String::toUpperCase).collect(Collectors.toCollection(ArrayList ::new));
        System.out.println(arrayList);*/
       //list.stream().peek(String::toUpperCase).forEach(x -> System.out.println(x));
       /* System.out.println(list.stream().findFirst());
        Optional.ofNullable(list).*/
       /*String result = list.stream().reduce("1111", String::concat);
        System.out.println(result);*/
//        list1.stream().sorted().forEach(System.out::print);
        //System.out.println(list1.stream().reduce(Integer::sum));
//        System.out.println(list1.stream().reduce(Integer::sum).get());
//        list1.stream().limit(5).forEach(System.out::print);
//        list1.stream().skip(5).forEach(System.out::print);
//        list1.stream().sorted().limit(7).forEach(System.out::print);
//        list2.stream().flatMap(x -> x.stream().map(y -> y*y)).forEach(x -> System.out.print(x));
        /*Random random = new Random();
        Supplier<Integer> supplier = random :: nextInt;
        Stream.generate(supplier).limit(10).forEach(x -> System.out.print(x + " "));*/
        //生成对象
//        Stream.generate(new Person()).limit(10).forEach(System.out::println);
//生成随机数
//        Stream.generate(Random::new).limit(10).forEach(x -> System.out.println(x.nextInt(10)));
//生成有序数
//        Stream.iterate(0, n -> n + 3).limit(20).forEach(System.out::println);

    }
}
class Person implements Supplier {
    int index;
    String name;

    public Person() {
    }

    public Person(int index, String name) {
        this.index = index;
        this.name = name;
    }
    @Override
    public Object get() {
        return new Person(++index, "xiaoming");
    }

    @Override
    public String toString() {
        return "Person{" +
                "index=" + index +
                ", name='" + name + '\'' +
                '}';
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值