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对象是无序排列的

 

 

posted @   莫逸风  阅读(51)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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
点击右上角即可分享
微信分享提示
CONTENTS