首页 > 编程语言 >【JavaSE】Stream流

【JavaSE】Stream流

时间:2023-12-13 22:22:05浏览次数:39  
标签:java String Stream util import JavaSE public

Stream作用:简化数组或集合的操作

获取Stream流对象

image

Stream流中间操作方法

image

  • 返回值都是Stream流对象,可以链式编程

Stream流终结操作方法

image

  • 返回值不再是Stream流对象

image

Stream收集操作

因为Stream流操作不会修改数据源,因此需要收集操作:将Stream流操作后到结果数据转回到集合

image

收集为双列集合案例

需求:
提取字符串中的姓名和年龄,筛选其中年龄>=24的人,并保存到Map集合中。

代码

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;

public class StreamDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("张三,23");
        list.add("李四,24");
        list.add("王五,25");


        Map<String, Integer> map = list.stream().filter(new Predicate<String>() {
            @Override
            public boolean test(String s) {
                return Integer.parseInt(s.split(",")[1]) >= 24;
            }
        }).collect(Collectors.toMap(new Function<String, String>() {
            @Override
            public String apply(String s) {
                return s.split(",")[0];
            }
        }, new Function<String, Integer>() {
            @Override
            public Integer apply(String s) {
                return Integer.parseInt(s.split(",")[1]);
            }
        }));

        System.out.println(map);
    }
}

标签:java,String,Stream,util,import,JavaSE,public
From: https://www.cnblogs.com/Eve7Xu/p/17900023.html

相关文章

  • Java 8 Stream 流的常用方法总结
    Java8Stream流的常用方法总结Java8引入了一个新的API:StreamAPI,它允许我们以声明式的方式处理数据集合。StreamAPI提供了一系列强大的方法,可以帮助我们更简洁、高效地处理数据。本文将总结Java8Stream流的常用方法,并提供相应的代码示例。1.创建Stream首先,我们需要了......
  • 前端歌谣-第五拾一课-node之http模块之stream流
    前言我是歌谣微信公众号关注前端小歌谣一起学习前端知识今天继续给大家讲解node中stream模块的讲解案例constfs=require("fs")constrs=fs.createReadStream("./1.txt","utf-8")rs.on("data",(chunk)=>{console.log(chunk)})rs.on("end",()=>{......
  • nginx upstream配置文件
    1.upstream使用upstream指定服务器组进行负载均衡userroot;worker_processes20;error_loglogs/error;pidlogs/nginx.pid;events{worker_connections1024;}http{log_formatmain'$remote_addr-$remote_user[$time_local]"$request"......
  • 【JavaSE】集合Collection{List(ArrayList, LinkedList), Set(TreeSet, HashSet, Link
    集合单列集合:Collection接口单列集合:一次添加一个元素;如果集合中添加的是类,要重写equals方法,否则比较的是地址,无法正常删除内容相同的元素。单列集合通用遍历方式1.迭代器遍历2.增强for循环遍历增强for循环底层逻辑还是迭代器,字节码文件反编译为java会发现还是迭代......
  • 【JavaSE】数据结构(栈、队列、数组、链表)
    什么是数据结构?数据结构是计算机底层存储、组织数据的方式,是指数据相互之间是什么方式排列在一起的常见的数据结构栈、队列、数组、链表二叉树、二叉查找树、平衡二叉树、红黑树哈希表栈特点:先进后出队列特点:先进先出数组特点:有索引,内存连续优点:查询速度快O(1)缺点:增......
  • 【JavaSE】数据结构(树:二叉查找树、平衡二叉树、AVL树、红黑树)
    树度:每个节点的子节点数量树高:树的总层数根节点:入度为0的节点二叉树每个节点最多有两个子节点二叉查找树任意节点左子树上的节点都小于当前节点,右子树上的节点都大于当前节点平衡二叉树任意节点的左右子树的高度差不超过1AVL树AVL树是一种平衡二叉树,得名于其发明者的......
  • 【JavaSE】数据结构-哈希表(HashSet/HashMap底层哈希表详解,源码分析)
    哈希表结构JDK8版本之前:数组+链表JDK8版本及之后:数组+链表+红黑树哈希表HashMapput()方法的添加流程创建HashSet集合时,构造方法中自动创建HashMap集合;HashMap空参构造方法会创建一个默认长度为16,默认加载因子为0.75的数组,数组名为table(tips:实际上,HashSet对象创建后,第......
  • 7. 2023-11-20 12:29:32,542 [tornado.general :456 ][WARNING ][3052] Got events f
     这个警告表明Tornado检测到了有事件(events)被发送到一个已经关闭的流(stream)。在Tornado中,一个流代表一个请求或响应的数据流。这个警告可能意味着在请求处理的过程中,尝试向已经关闭的流发送了事件。可能的原因和解决方法:异步操作处理不当:在Tornado中,当你处理异步请求时,需......
  • 【JavaSE】可变参数
    可变参数可变参数用在形参中可以接收多个数据可变参数的格式:数据类型...参数名称可变参数的特点:方便,可以不传输参数,可以传输一个或者多个,也可以传输一个数组可变参数在方法内部本质上就是一个数组注意事项:一个形参列表中可变参数只能有一个可变参数必须放在形参列表的......
  • JavaSe(11) - 常用API(上)
    JavaSe(11)-常用API(上)P155Math基本数学计算的工具类,包含执行基本数学运算的方法,例如指数,对数,平方根,三角函数...方法名说明publicstaticintabs(inta)获取绝对值ceil(doublea)向上取整floor(doublea)向下取整round(floata)四舍五入......