java流式编程的中间操作


import java.sql.SQLOutput;
import java.util.ArrayList;
import java.util.stream.Stream;

//流式编程得中间操作
public class StreamDemo3 {
    public static void main(String[] args) {
        ArrayList<String> strings = new ArrayList<>();
        strings.add("郭奉孝");
        strings.add("郭嘉");
        strings.add("孙权");
        strings.add("刘备");
        strings.add("曹操");

        //输出前三个元素
        strings.stream().limit(3).forEach(System.out::println);
        System.out.println("-----------------");
        //跳过前三个再输出
        strings.stream().skip(3).forEach(System.out::println);
        //跳过前两个再输出两个
        System.out.println("-----------------");
        strings.stream().skip(2).limit(2).forEach(System.out::println);
        //前四个数据组成一个流
        Stream<String> limit = strings.stream().limit(4);
        //跳过2个数据组成一个流
        Stream<String> skip = strings.stream().skip(2);
        //合并两个流并输出
//        System.out.println("-----------------");
//        Stream.concat(limit,skip).forEach(System.out::println);
        //去重操作
        System.out.println("-----------------");
        Stream.concat(limit,skip).distinct().forEach(System.out::println);


        ArrayList<String> list = new ArrayList<>();
        list.add("guofengxiao");
        list.add("guojia");
        list.add("sunquan");
        list.add("liubei");
        list.add("caocao");

        //按照字母排序
        System.out.println("-----------------");
        list.stream().sorted().forEach(System.out::println);
        //按照字符长度排序
        System.out.println("-----------------");
        list.stream().sorted((s1,s2) -> s1.length()-s2.length()).forEach(System.out::println);

        ArrayList<String> integers = new ArrayList<>();
        integers.add("10");
        integers.add("20");
        integers.add("30");
        integers.add("40");
        integers.add("50");

        //将字符转为数字输出
        System.out.println("-----------------");
        integers.stream().map(Integer::parseInt).forEach(System.out::println);

        //转为int流求和
        System.out.println("-----------------");
        int result = integers.stream().mapToInt(Integer::parseInt).sum();
        System.out.println(result);
    }
}


posted @ 2021-05-03 18:24  code-G  阅读(80)  评论(0编辑  收藏  举报