当前位置: 首页 > news >正文

Java 集合

Java 集合

  • 前言
  • 两大顶层接口
  • 集合常用遍历方式
  • 总结

前言

Java集合是日常开发使用频率最高的API,几乎所有业务数据的存储、传输、处理都离不开它。吃透集合的底层原理和选型技巧,是提升代码质量、规避线上bug的关键。


两大顶层接口

Java集合属于java.util包,核心分为Collection和Map两大派系,所有集合实现类都基于这两个顶层接口扩展。

  1. Collection 单列集合(存单个元素)
    用于存储单个独立元素,包含三大核心子接口:
  • List(有序、可重复、有索引):元素存入顺序和取出顺序一致,支持通过索引精准获取元素,允许元素重复。
  • Set(无序、不可重复、无索引):元素无序存储,自动去重,没有索引,无法通过下标取值。
  • Queue(队列、有序、可重复):遵循先进先出规则,多用于消息队列、任务排队场景。
  1. Map 双列集合(存键值对)
    存储 key-value 键值对数据,键唯一不可重复,值可以重复,主要用于映射关系存储(比如用户ID对应用户信息)。

集合常用遍历方式

  1. 普通for循环(仅List)
    基于索引遍历,支持遍历中修改元素
List<String>list=newArrayList<>();for(inti=0;i<list.size();i++){System.out.println(list.get(i));}
  1. 增强for循环(推荐,通用)
    语法简洁,适用所有Collection集合,不支持遍历中增删元素(会报并发修改异常)
for(Strings:list){System.out.println(s);}
  1. 迭代器Iterator(支持遍历删除)
    唯一支持遍历过程中安全删除元素的方式,适配所有集合
Iterator<String>it=list.iterator();while(it.hasNext()){Strings=it.next();if("test".equals(s)){it.remove();// 安全删除}}
  1. Lambda表达式遍历
    代码简洁,适合简单遍历场景
List<String>nameList=Arrays.asList("张三","李四","张三丰","王五");nameList.stream().filter(name->name.length()>2).forEach(System.out::println);

总结

Java集合的核心学习重点就是底层结构、特性差异、场景选型。不用死记硬背源码细节,但必须清楚不同集合的优缺点和适用场景,这是写出高效、稳定代码的基础。

http://www.gsyq.cn/news/1604945.html

相关文章:

  • 【.NET新特性·第6篇】C# 13 新特性全解:10 个改变你编码方式的特性
  • TAS54x4A评估模块实战:从硬件连接到软件调试的完整指南
  • 大文件分片上传:从原理到实战,解决Web开发中的传输难题
  • 《深入理解计算机系统》CSAPP八大实验通关指南与实战解析
  • 凑微分,幂等公式
  • GeoTools 多模块依赖最佳实践:一次 OrderedAxisAuthorityFactory 初始化失败的深度复盘
  • Nacos 注解全解析:7 个核心注解 + 5 个生产踩坑清单(2026 实测)
  • go: Deadline Pattern
  • 万字干货|2026 Go 后端通关学习路线,从底层原理到微服务面试全覆盖(附 Code Review 规范 + 线上故障排查方案)
  • 论文阅读笔记 | Thinking in Frames: How Visual Context and Test-Time Scaling Empower Video Reasoning
  • 泛微ECOLOGY9流程主明细行弹窗添加子明细的实现
  • 解除labelstdio数据标注一次上传图片数量限制的方法
  • 如何用N_m3u8DL-RE轻松下载加密流媒体视频:从新手到高手的完整指南
  • TAS3202 DAP架构解析:从定点运算到音频处理实战
  • 终极方案:用xmly-downloader-qt5实现喜马拉雅VIP音频永久保存的完整指南
  • Linux 用户态内存分配:glibc malloc
  • WinUtil:Windows系统优化终极工具 - 一键完成软件安装、系统调优与故障修复
  • 14-already flash encrypt or secure boot提示:ESP32S3误烧熔丝的补救方法
  • 猫抓浏览器扩展:全网视频音频资源一键抓取的终极指南
  • 高颜值出差住地铁口可猫咪的酒店步行 3 分钟到地铁
  • volatile有什么用
  • 告别繁琐操作:原神脚本让你的提瓦特冒险更智能高效
  • PCB 新手 18 类常见错误汇总
  • EtherCAT重学之二: EtherCAT 系统硬件架构
  • 大湾区EMBA特色测评:科学选型理性指南
  • 【LeetCode】第1题 两数之和
  • CBDC安全架构:密码学签名与硬件防护核心技术解析
  • 【单片机毕业设计】基于 STM32 的多模式智能路灯控制系统设计, 基于单片机的光照自适应路灯亮度调节系统设计(014001)
  • 为什么顶尖AI团队拒绝“通用提示词”?——稀缺首发:金融/医疗/法律三大垂直领域217条经审计Prompt资产包(限时开放下载)
  • Java 多线程:继承 Thread 与实现 Runnable 两种创建方式完整对比