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 )。使用链表做数据删除操作的时候,只是把头尾对应的地址进行了调整,不会对整个链表有很大的性能消耗。

posted @   Geoary  阅读(435)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示