首页 > 其他分享 >今日分享——Map集合和Stream流

今日分享——Map集合和Stream流

时间:2024-09-03 20:51:35浏览次数:6  
标签:Map 遍历 Stream map 键值 集合 分享

Map集合

认识Map集合

1.Map集合称为双列集合,一次需要存一对数据做为一个元素, 格式:{key1=value1 , key2=value2 , key3=value3 , …}

2.Map集合的每个元素分为两部分:key和value,key称为键,value称为值,整体叫键值对,因此Map也叫“键值对集合”

3.Map集合的所有键是不允许重复的,但值可以重复,键和值是一一对应的,每一个键只能找到自己对应的值

需要存储一一对应的数据时,就可以考虑使用Map集合

Map集合体系的特点

注意:Map系列集合的特点都是由键决定的,值只是一个附属品,值是不做要求的

1.HashMap: 无序、不重复 (用的最多)

2.LinkedHashMap :有序、不重复

3.TreeMap: 按照大小默认升序排序、不重复

为什么先学习Map的常用方法?

Map是双列集合的祖宗,它的功能是全部双列集合都可以继承过来使用的。

Map的常用方法如下:

遍历方式

1.先获取Map集合全部的键,再通过遍历键来找值

private static void test1(HashMap<String, String> map) {
    Set<String> key = map.keySet();
    for (String keys : key) {
        String s = map.get(keys);
        System.out.println(keys + "---" + s);
    }
}
2.把“键值对”看成一个整体进行遍历

//遍历方式2: 将map中的所有键值对放入一个set集合中, 然后遍历set集合拿到每个键值对, 再取里面的键值
private static void test2(HashMap<String, String> map) {
    Set<Map.Entry<String, String>> entries = map.entrySet();
    for (Map.Entry<String, String> entry : entries) {
        System.out.println(entry);
    }
}

3.需要用到Map的如下方法Lambda

//遍历方式3: Lambda, 使用foreach(BiConsumer bc)
private static void test3(HashMap<String, String> map) {
    map.forEach((key, value) -> {
        System.out.println(key + "=" + value);
    });

}

Map集合体系

HashMap跟HashSet的底层原理是一模一样的,都是基于哈希表实现的。

Stream

它是什么

1.也叫Stream流,是Jdk8开始新增的一套API (java.util.stream.*),可以用于操作集合或者数组的数据

2.优势: Stream流大量的结合了Lambda的语法风格来编程,提供了一种更加强大,更加简单的方式操作集合或者数组中的数据,代码更简洁,可读性更好。

使用步骤

Stream的常用方法

1、获取stearm流

2.stream流常见的中间方法

中间方法指的是对stream流进行操作的方法, 他们调用完成后会返回新的Stream流,可以继续使用(支持链式编程)

3.Stream流常见的终结方法

3.1终结方法指的是调用完成后,不会返回新Stream了,没法继续使用流了。

3.2它的作用是对流中的数据进行筛选(遍历、最大、最小、统计个数)

标签:Map,遍历,Stream,map,键值,集合,分享
From: https://blog.csdn.net/qq_73643693/article/details/141871586

相关文章

  • 【Java学习】Map集合&Stream流
    一、Collections1、可变参数定义:是一种特殊形参,定义在方法、构造器的形参列表里,定义格式是:方法名(数据类型... 形参名称){ }可变参数的特点和好处特点:可以不传数据给它;可以传一个或者同时传多个数据给它;也可以传一个数组给它;好处:常常用来灵活的接收数据。注意事项可......
  • 基因图谱(Genomic Mapping)分析与应用
    基因图谱(GenomicMapping)是基因组学研究中一项至关重要的技术,它为科学家提供了关于基因的位置和距离的详细信息。通过基因图谱的构建,研究人员可以揭示基因与性状之间的关系,探索疾病的遗传机制,并推动个性化医学的发展。本文将详细分析基因图谱的类型、构建方法、应用场景以及它......
  • Map集合语法
    1.Map集合1.1Map集合概述和特点【理解】Map集合概述interfaceMap<K,V> K:键的类型;V:值的类型Map集合的特点双列集合,一个键对应一个值键不可以重复,值可以重复Map集合的基本使用publicclassMapDemo01{  publicstaticvoidmain(String[]args){ ......
  • 【专题】2024年中国游戏出海洞察报告合集PDF分享(附原数据表)
     原文链接:https://tecdat.cn/?p=375702023年全球游戏市场规模高达6205.2亿美元,且预计未来持续增长,这清晰地展示了该市场的巨大潜力和良好前景。中国游戏在全球移动游戏市场的份额于2023年已达37%,产业贡献超30%的市场收入,这反映出中国游戏在全球市场中的地位日益重要,竞......
  • Java 入门指南:Java 并发编程 —— 并发容器 ConcurrentSkipListMap
    ConcurrentMapConcurrentMap是Java并发包中提供的一个接口,它继承了java.util.Map接口,专门用于支持高并发环境下的线程安全操作。ConcurrentMap提供了一系列线程安全的方法,旨在解决在多线程环境下使用普通Map类型(如HashMap)时可能出现的竞态条件和数据不一致问题。......
  • uniapp 复制编译后sourcemap复制到工程内
    sourcemap.jsconstfs=require('fs');constpath=require('path');/***将/dist/dev/.sourcemap文件复制到/dist/dev/mp-toutiao/.sourcemap*/lettriggerMove=false;module.exports=async()=>{if(triggerMove)return;tri......
  • 基于Java+SpringBoot+Vue+MySQL的地方美食分享网站
    作者:计算机学姐开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码系统展示基于SpringBoot+Vue的地方美食分享网站【附源码文档】、前后端分离开发语言:Java数据库:MySQL技术:SpringBo......
  • 【Python插件入门】第10篇(完结篇):插件常用工具类分享
    【Python插件入门】第10篇(完结篇):插件常用工具类分享原创金蝶云·星空-BOS平台金蝶云·星空-基础架构金蝶云·星空-学习笔记金蝶云·星空-协同开发更多 CQ周玉立已关注149人赞赏了该文章 1.8万次浏览 未经作者许可,禁止转载编辑于2022年08月22日09:......
  • 软设每日一练10——某文件系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。
    【题目】某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。若计算系统的字长为32位,磁盘的容量为300GB,物理块的大小为4MB,那么位示图的大小需要(      )个字。        A.1200    B.2400    C.6400    D.9600      ......
  • passOS|有什么关于论文写作的经验和建议分享?
    说到论文和答辩PPT,想必大家对其中的苦都深有体会。如果我们没有思路就来写论文,到时候写出来的论文就会是一团糟,没有逻辑和条理;如果只是把其他论文拿来生搬硬套、随意杂糅,就会导致知网查重率极高。焦头烂额,熬夜改了一遍又一遍,还是通不过导师关。好不容易论文完成了,还要准备答辩P......