Java提升-复杂数据类型
复杂数据类型
在开始的文章中介绍郭,Java的基本数据类型(内置数据类型
引用数据类型
),这里介绍下复杂的数据类型,复杂的数据类型尽可能的满足使用者的诉求。
- 枚举(Enumeration)
- 位集合(BitSet)
- 向量(Vector)
- 栈(Stack)
- 字典(Dictionary)
- 哈希表(Hashtable)
- 属性(Properties)
- 集合框架
这里主要介绍下集合框架
图片来源于菜鸟教程
Map
map中存储的键值对对象,比如{"a": "1"}, {"b":"2"}
,这里的"a"
"b"
就是键,"1"
"2"
是值。
Map中的实现类是很多的:
介绍几种常用的具体类。
HashMap
基于哈希表的实现的Map接口。 此实现提供了所有可选的Map操作,并允许null的值和null键。
map中的键不允许重复,也就是当我有两个相同的键,后者的值会把之前的值覆盖掉。
Map map = new HashMap();
map.put("a", "1");
map.put("a", "2");
// 输出结果是:{a=2}
List
有序集合(也称为序列 )。 该界面的用户可以精确控制列表中每个元素的插入位置。 用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素。
jdk中有两个List类,我们使用的是java.util下的这个。
ArrayList
可调整大小的数组的实现List接口。 实现所有可选列表操作,并允许所有元素,包括null。ArrayList是以数组实现的,可以存储任何类型的数据,但数据容量有限制,超出限制时会扩增50%容量,查找元素效率高。由于是用数组实现的,所以再删除其中某个数据的时候很消耗性能
LinkedList
双链表实现了List和Deque接口。 实现所有可选列表操作,并允许所有元素(包括null )。使用链表做数据删除操作的时候,只是把头尾对应的地址进行了调整,不会对整个链表有很大的性能消耗。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix