首页 > 其他分享 >003.Stream常用方法

003.Stream常用方法

时间:2023-01-07 14:11:58浏览次数:45  
标签:substring 常用 Stream stream list List System 003 Test

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);
    }
}

 

标签:substring,常用,Stream,stream,list,List,System,003,Test
From: https://www.cnblogs.com/LLL0617/p/17032563.html

相关文章

  • 002.Stream流的创建方式(基于数组和集合最常用)
    packagecom.imooc.stream;importorg.junit.Test;importjava.util.ArrayList;importjava.util.List;importjava.util.Random;importjava.util.stream.IntStre......
  • 001.Stream介绍
    1.介绍  2.Stream示例  3.常用方法 ......
  • NOI2003 文本编辑器 题解
    \STL大法好/正规解法块状链表,这里采取的是黑科技解法。rope是扩展STL库中的一个数据结构——可持久化平衡树,相比较set,它更适合区间插入和删除。这里用来解此题,就显得十......
  • 个人常用配置
    一.mysql:showvariableslikemax_connectionssetGLOBALmax_connections=1000showvariableslike max_allowed_packet setglobalmax_allowed_packet= 40M......
  • oracle查询连接池常用语句
    selectusername,count(*),machinefromv$sessionwhereusernameisnotnullgroupbyusername,machineorderbyusername;selectsid,machine,LAST_CALL_ET,......
  • windows 常用快捷键
    windows常用快捷键键盘键的分类键盘功能键:TabShiftCtrlAltSpaceEnterWindow方向键键盘快捷键:全选复制粘贴撤销保存关闭窗口运行永久删除快捷键......
  • 003.函数式编程(函数式接口Predicate)
    1.函数式接口Predicate  2.代码示例packagecom.imooc.lambda;importjava.util.Arrays;importjava.util.List;importjava.util.function.Predicate;/**......
  • Dos常用命令!
    常用DOs#文件操作md目录名rd目录名cd>文件名del文件名#ping命令pingip​#打开应用calcmspaintnotepad​#查看ipipconfig#推出exit#清屏cls#切换目录cdcd/d#查看......
  • 博客园编辑时的常用快捷键
    给选中文本加粗体: Ctrl+B插入链接:Ctrl+K插入代码:Ctrl+ `(Tab上方的那个键)插入引用:Ctrl+Q添加表格:Ctrl+Shift+F添加图片:Ctrl+I切换Markdown预览:Ctrl+\切换全屏:Ct......
  • Cron 常用快速查询
    (1)0/2****?表示每2秒执行任务  (1)00/2***?表示每2分钟执行任务  (1)0021*?表示在每月的1日的凌晨2点调整任务  (2)01510?*MON-FRI......