Stream,Optional笔记

Optional是一个包含可选值的包装类,一定程度上可以解决空指针异常

好文链接:https://blog.csdn.net/mu_wind/article/details/109516995

package com.wen;

import java.util.Optional;

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

        Optional<Object> empty = Optional.ofNullable(90);
        System.out.println(empty.get());            //90
        System.out.println(empty.isPresent());      //true
    }
}
package com.wen;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        List<Integer> list = Arrays.asList(1, 5, 6, 7, 8, 90);
        list.stream().filter(val -> val>7).forEach(System.out::println);    //8 90
        long count = list.stream().filter(val -> val > 5).count();          //4
        List<Integer> collect = list.stream().filter(val -> val > 6).map(val -> val + 10).collect(Collectors.toList()); //17 18 100
        List<String> strings = Arrays.asList("1,23", "456");
        List<String> collect1 = strings.stream().flatMap(val -> {
            String[] split = val.split(",");
            Stream<String> stream = Arrays.stream(split);
            return stream;
        }).collect(Collectors.toList());        //1,23,456

    }
}

其中Collectors.counting( )是Map中的value,若用Collectors.toList( )则表示原有List

package com.wen;

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

public class Main {
    public static void main(String[] args) {
        List<Stu> list = new ArrayList<>();
        Stu stu1 = new Stu(17, "111");
        Stu stu2 = new Stu(17, "222");
        Stu stu3 = new Stu(18, "333");
        list.add(stu1);
        list.add(stu2);
        list.add(stu3);
        Map<Integer, Long> collect = list.stream().collect(Collectors.groupingBy(Stu::getAge, Collectors.counting()));
        System.out.println(collect);
    }
}
posted @ 2021-08-20 16:23  浪人2077  阅读(58)  评论(0)    收藏  举报