java集合
java中的集合是工具类,可以存储任意数量的具有共同属性的对象。
1、为什么使用集合,而不用数组
- 无法预测存储数据的数量
- 同时存储具有一对一关系的数据
- 需要进行数据的增删
- 数据重复问题
2、集合框架的体系结构
2.1Collection#
2.1.1List(有序允许重复)列表#
主要实现类ArrayList
- ArrayList底层是由数组实现的
- 动态增长,以满足应用程序的需求
- 在列表尾部插入或删除数据非常有效
- 更适合查找和更新元素
- ArrayList中的元素可以为null
2.1.2Queue(有序允许重复)队列#
主要实现类LinkedList
2.1.3Set(无需不许重复)集#
主要实现类HashSet
- HashSet是Set的一个重要实现类,称为哈希集
- HashSet中的元素无序并且不可以重复
- HashSet中只允许一个null元素
- 具有良好的存取和查找特性
- 底层是HashMap
2.3.4Iterator(迭代器)(输出set中的值)#
- Iterator接口可以以统一的方式对各种集合元素进行遍历
- hasNext()方法检测集合中是否还有下一个元素
- next()方法返回集合中的下一个元素
Set set = new HashSet();
....添加好多数据
Iterator it = set.inerator();
while(it.hasNext()){
....
}
2.2Map#
主要实现类HashMap
2.2.1Map#
- Map中的数据以键值对(key-value)的形式存储
- key-value以Entry类型的对象实例存在
- 可以通过key值快速地查找value
- 一个映射不能包含重复的键
- 每个键最多只能映射一个值
2.2.2HashMap#
- 基于哈希表的Map接口的实现
- 允许null值和null键
- key值不允许重复
- HashMao中的Entry对象是无序排列的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY