003.Stream常用方法

package com.imooc.stream;

import org.junit.Test;

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

public class StreamMethod
{
    //提取集合中所有的偶数并求和
    @Test
    public void case1()
    {
        List<String> list = Arrays.asList("1", "2", "3", "4", "5", "12");
        int sum = list.stream().mapToInt(s -> Integer.parseInt(s)).filter(n -> n % 2 == 0).sum();//提取stream对象并转化为整数并进行过滤求和
        System.out.println(sum);
    }

    //所有名字首字母大写
    @Test
    public void case2()
    {
        /**
         * map 按规则对每一个流进行转换
         * collect 对流进行收集,生成新的list/set(生成没有重复)
         */
        List<String> list = Arrays.asList("lily", "andy", "jackson", "smith");
        //list.stream().map(s -> s.substring(0,1).toUpperCase() + s.substring(1)).forEach(s -> System.out.println(s));
        List newList = list.stream().map(s -> s.substring(0, 1).toUpperCase() + s.substring(1)).collect(Collectors.toList());
        System.out.println(newList);
    }

    //将所有奇数从大到小进行排序,且不允许重复
    @Test
    public void case3()
    {
        /**
         * distinct 去吃重复
         */
        List<Integer> list = Arrays.asList(1, 5, 6, 7, 8, 9, 324, 5, 46, 2, 31, 31);
        List newList = list.stream().distinct().filter(n -> n % 2 == 1).sorted((a, b) -> b - a).collect(Collectors.toList());
        System.out.println(newList);
    }
}

 

posted @ 2023-01-07 13:58  李林林  阅读(16)  评论(0编辑  收藏  举报