Java集合进阶:Map体系(HashMap原理)与Stream流式编程的常用操作
📅 2026/7/13 19:40:48
👁️ 次浏览
一.Map集合1.含义Map集合也被叫做“键值对集合”格式{key1value1.....}Map集合的所有键是不允许重复的但值可以重复了键和值是一一对应的每一个键只能找到自己对应的值2.应用场景3.Map集合的体系4.Map集合的常用方法5.Map集合的遍历方式public class Mapdemo1 { public static void main(String[] args) { //目标认识Map集合的体系特点 //1.创建Map集合 MapString,Integer map new HashMap();//一行经典代码 map.put(张三,18); map.put(王五,19); map.put(赵六,20); System.out.println( map); //1.提起Map集合的全部键到一个Set集合中 SetString keySet map.keySet(); //2.遍历Set集合获取每一个键 for (String key : keySet) { //3.根据键获取值 Integer value map.get(key); System.out.println(key value); } } }//1.把Map集合转换成Set集合里面的元素类型都是键值对类型 SetMap.EntryString, Integer entries map.entrySet(); for (Map.EntryString, Integer entry : entries) { //2.遍历set集合获取键和值 String key entry.getKey(); Integer value entry.getValue(); System.out.println(key value); }//1.直接调用Map集合的forEach方法完成遍历 map.forEach((key,value)-{//遍历集合获取每一个键值对(使用Lambda表达式) System.out.println(key value); });6.Map集合的实现类1HashMap的底层原理2LinkedHashMap的底层原理3TreeMap的使用二.Stream流1.认识Stream流Stream是jdk8开始新增的一套APIjava.util.stream.*可以用于操作集合或者数组的数据优势Stream流大量的结合了Lambda的语法风格来编程功能强大性能高效代码简洁可读性好2.获取Stream流获取Stream流才能用流操作数据3.Stream流提供的常用方法中间方法过滤、排序、去重等等public class StreamDemo1 { public static void main(String[] args) { ListString list new ArrayList(); list.add(小王); list.add(小张); list.add(小李); //1.先用传统方案找出姓张的人名字为3个字的存入到一个新集合去 ListString newlist new ArrayList(); for (String name : list){ if (name.startsWith(小) name.length() 3){ newlist.add(name); } } System.out.println(newlist); //2.用stream流方案 ListString newlist2 list.stream()//filter作用过滤条件 .filter(name - name.startsWith(小)) .filter(name - name.length() 3) .toList(); //目标掌握Stream流提供的常见中间方法对流上的数据进行过滤得到一个新的流返回新流链式编程 //1.过滤方法 list.stream().filter(name - name.startsWith(小) name.length() 3).forEach(System.out::println); //2.排序方法 ListDouble scores new ArrayList(); scores.add(99.9); scores.add(89.9); scores.add(79.9); scores.stream().sorted().forEach(System.out::println);//默认是升序 System.out.println(-----------------); scores.stream().sorted((s1,s2) - Double.compare(s2,s1)).forEach(System.out::println);//降序 System.out.println(-----------------); scores.stream().sorted((s1,s2) - Double.compare(s2,s1)).distinct().forEach(System.out::println);//去重 //3.映射方法,将流中原来的元素拿出来变成新数据,得到一个新的流上去 list.stream().map(name - name.toUpperCase()).forEach(System.out::println); //合并流 StreamString list1 Stream.of(张三, 王五, 赵六); StreamInteger list2 Stream.of(111,222,33); StreamObject list3 Stream.concat(list1, list2); list3.forEach(System.out::println); } }4.终结方法、收集Stream流
5分钟上手LingBot-World 2.0:超简单安装与推理教程 【免费下载链接】lingbot-world-v2-14b-causal-fast 项目地址: https://ai.gitcode.com/hf_mirrors/robbyant/lingbot-world-v2-14b-causal-fast
想要快速体验最先进的图像到视频AI生成技术吗?…
📅 2026/7/13 19:40:48
未来展望:Qwen2.5-Coder-1.5B-Instruct_rai_1.7.1_npu_4K在边缘计算与本地AI开发中的潜力 【免费下载链接】Qwen2.5-Coder-1.5B-Instruct_rai_1.7.1_npu_4K 项目地址: https://ai.gitcode.com/hf_mirrors/amd/Qwen2.5-Coder-1.5B-Instruct_rai_1.7.1_npu_4K …
📅 2026/7/13 19:40:48
Rapyd-Laravel终极指南:从入门到精通的完整教程 【免费下载链接】rapyd-laravel deprecated rewritten in rapyd-livewire 项目地址: https://gitcode.com/gh_mirrors/ra/rapyd-laravel
想要在几分钟内为你的Laravel应用构建一个功能完整的管理后台吗&#x…
📅 2026/7/13 19:40:48
颠覆性指南:3步掌握ERPNext开源ERP系统的核心价值 【免费下载链接】erpnext Free and Open Source Enterprise Resource Planning (ERP) 项目地址: https://gitcode.com/GitHub_Trending/er/erpnext
你是否曾为企业管理软件的高昂费用而烦恼?是否…
📅 2026/7/13 20:31:05
ethereum.rb交易签名详解:安全处理以太坊交易的最佳实践 【免费下载链接】ethereum.rb Ethereum library for the Ruby language 项目地址: https://gitcode.com/gh_mirrors/et/ethereum.rb
以太坊交易签名是保障资产安全的核心环节,而ethereum.r…
📅 2026/7/13 20:31:05
告别云端依赖:dedao-dl帮你永久保存得到课程,打造个人知识资产库 【免费下载链接】dedao-dl 得到 APP 课程下载工具,可在终端查看文章内容,可生成 PDF,音频文件,markdown 文稿,可下载电子书。可…
📅 2026/7/13 20:31:05
5分钟快速上手:免费AI实时换脸工具Deep-Live-Cam完整指南 【免费下载链接】Deep-Live-Cam real time face swap and one-click video deepfake with only a single image 项目地址: https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam
你是否想过&#x…
📅 2026/7/13 20:31:05
Obsidian终极美化指南:用CSS代码片段打造个性化知识库界面 【免费下载链接】awesome-obsidian 🕶️ Awesome stuff for Obsidian 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-obsidian
你是否有过这样的体验?每天面对同样的…
📅 2026/7/13 20:31:05
更多请点击:
https://kaifayun.com
第一章:ChatGPT 不能用怎么办 当访问 ChatGPT 出现“403 Forbidden”、“Service Unavailable”或长时间白屏时,往往并非服务彻底宕机,而是受网络策略、地区限制或客户端配置影响。以下为可立…
📅 2026/7/13 20:30:04
做技术的人都知道,环境配置是最让人头秃的环节。特别是当你面对一个相对小众或者刚起步的项目时,文档可能不全,社区可能冷清。这时候,找到靠谱的来源就显得尤为重要。今天咱们不聊虚的,就聊聊怎么稳妥地完成 openclaw安装官方 流程,顺便分享几个我踩过的坑,希望能帮你省…
📅 2026/7/13 0:01:22
1. 项目概述:当火焰特效成为帧率杀手在UE5项目里,尤其是那些追求电影级视觉的开放世界或者大场景战斗游戏,一个熊熊燃烧的篝火、一次震撼的爆炸,往往是点燃玩家情绪的关键。Niagara作为虚幻引擎5中取代了老旧的Cascade的下一代粒子…
📅 2026/7/13 0:01:52
1. 项目概述与核心价值 最近在对接抖音小游戏平台时,侧边栏复访功能成了一个绕不开的“必答题”。很多开发者朋友,包括我自己一开始,都对这个功能有点摸不着头脑:它到底是什么?为什么平台这么重视?不接入行…
📅 2026/7/13 0:01:52
豆包openclaw最近圈子里都在聊豆包openclaw,我也没忍住,掏腰包入手了一套。说实话,刚拿到手的时候,心里是打鼓的。毕竟市面上类似的智能硬件太多了,有的吹得天花乱坠,用起来却是一堆bug。为了不让大家的钱打水漂,我连续用了半个月。从开箱到日常高频使用,甚至故意测试它…
📅 2026/7/13 5:30:27
SQLyog 13.3.1 社区版在Windows 10/11上的完整安装与连接指南 对于刚接触MySQL数据库管理的开发者和学生来说,选择一个直观易用的图形化管理工具至关重要。SQLyog作为一款轻量级但功能强大的MySQL GUI工具,能够显著提升数据库操作的效率和体验。本文将详…
📅 2026/7/13 6:21:22
SPEC CPU 2006 跨平台基准测试深度实战:ARM/X86/MIPS 架构配置优化与结果分析方法论在当今多元化的计算架构时代,如何客观评估不同处理器平台的真实性能成为系统工程师和性能优化专家的核心挑战。SPEC CPU 2006 作为业界公认的计算密集型基准测试套件&am…
📅 2026/7/13 7:10:30
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/13 3:29:47
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/13 19:47:36
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/13 9:07:16