Java提升-复杂数据类型

2022/4/6 17:21:34

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



这篇关于Java提升-复杂数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程