
文章图片

一、集合容器简介集合容器是Java开发中最基础API模块 , 通常用来存储运行时动态创建的元素 , 基本特点如下:
- 泛型特点 , 存储任意类型对象;
- 动态扩容 , 存储任意数量对象;
这里对存储数量是受到程序和内存等环境制约的 , 从List的get()方法中可以看出 , index的范围是Integer.MAX_VALUE 。
二、API体系三大核心接口:List、Set继承Collection Map独立接口
List与Set体系
List体系核心API:ArrayList , LinkedList、Vector
Set体系核心API:HashSet、TreeSet、LinkedHashSet
Queue队列API:PriorityQueue、LinkedHashSet
Map体系
Map体系核心API:HashMap、LinkedHashMap、TreeMap、Hashtable
三、基础容器详解1、核心内容
- 元素存储 , 增删改查判断等基础用法
- API方法中线程安全问题
- 容器初始化大小与动态扩容机制
- 底层数据结构特点
- 同一接口或者不同接口体系容器对比
基本熟练使用并理解集合容器 , 需要知道如上几块内容:API基础用法 , 线程安全问题;容器大小与扩容;结构特点 , 数组、链表、哈希表;
2、API体系详解
Collection:集合容器的根接口 , 定义公共方法;
List体系:
维护Object数组实现 , 特点:查询快 , 增删慢 , 非线程安全 , 所以效率高 。
底层维护链表数据结构实现 , 特点:查询慢 , 增删快 , 非线程安全 , 所以效率高 。
底部维护Object数组 , 实现和ArrayList一样 , 但是Vector是线程安全 , 效率低 。
Set体系:
底层是使用了哈希表来支持的 , 特点:存取速度快 , 元素唯一且无序 。
底层数据结构是链表和哈希表 , 链表保证元素有序性 , 哈希表保证元素唯一性 , 非线程安全 。
数据结构是红黑树 , 如果元素具备自然顺序的特性 , 那么就按照元素自然顺序的特性进行排序 , 或者基于比较器自定义排序 。
Map体系:
Map接口的实现类 , 具备的特点:存储的数据都是以键值对的方式 , 键不可以重复 , 值可重复 。
底层使用hashCode表来实现向HashMap中添加元素 , 允许使用null值和null键 , 不保证元素的顺序固定 。
TreeMap:基于二叉树的数据结构实现的 , 会对具备自然特性的键进行排序存储:元素的键具备自然特性 , 直接排序存储;不具备自然特性 , 实现Comparable接口 , 在ComparaTo中定义排序规则 。
推荐阅读
-
-
青年|免费2D卷轴游戏《Symphonia》,来自法国学生超强毕业设计作品
-
俄罗斯|曾是俄罗斯女篮国手!身材颜值超美,如今仍单身渴望脱单
-
-
新氧App|比关晓彤还公主的女明星,16岁成国民女神,高二超一本线50分...
-
TVB|《香港小姐2023》海选惹争议?TVB高层乐易玲:我们会检讨
-
贾静雯|钟楚红回归家庭,王祖贤为情所困,这些明星大概不可能再次“复出”了吧
-
【前瞻网|特斯拉造车新势力销量排名第一,中国电动汽车领域首批强制性标准出台】
-
PP体育|出言不逊被警方逮捕,扎哈维无视疫情“轰趴”被投诉
-
炎黄子孙风水文化|有财神关照,运势冲天,横财发不尽的属相,下周起
-
-
落夜电竞|玉剑仙太多怎么办?红莲:绕了一大圈,夜幽锐雯又回来了
-
-
[百科鉴闻]曝光OPPO Ace2 5G超级玩家,Reno Ace大量现货价格狂跌!
-
孕育岛|学会这四种食用方法,能解馋也能避免过敏,孕妇馋菠萝了怎么办
-
趣风景世界 中国芯片喜迎光刻机通行证,墙倒众人推!芯片禁令成为“笑话”
-
蜜蜡:4个关键词,让你读懂2020年蜜蜡的价格趋势!
-
-
#控制器#PS 5 的 DualSense 控制器不兼容 PS 4,却能用于 PS 3 和 Nintendo Switch
-
[时尚最美]当众人面“内搭外穿”,这谁顶得住啊,39岁蔡依林是真放的开