集合框架是数据结构的入门篇 下面我们就一起梳理一下关于初识集合类的知识点:
-
数据结构与集合类的关系:
① 集合类就是数据结构的具体实现方式;
② 数据结构与编程语言无关
③数据结构 → 集合类顺序表链表 → ArrayList Vector LinkedList 树(二叉树(二叉搜索树、堆)) → TreeSet TreeMap 哈希表 → HashSet HashMap
-
集合类存在的意义:非常方便的管理很多数据(进行增删改查)
-
集合框架的总览图:
定义在java.util包下的一组接口interface和实现类class
① 顶层接口Iterable:可迭代的(通过有限的若干个步骤,逐步逼近最终结果),可以从前到后的进行遍历.
如果一个对象实现了Iterable接口就可以用foreach语法循环遍历.
② Collection接口:包含一些增删改查操作.
③ List接口:元素相对有序.
④ Queue接口:元素之间相对有序 只能头插/头删/尾插/尾删,比较限制操作.
⑤ Set接口:元素不要求顺序且不能重复.
1,2,3和3,2,1是相同的Set.
⑥ Vector:旧版本的顺序表,现在不常用.(线程安全)
⑦ ArrayList:顺序表.
⑧ LinkedList:链表.
⑨ Deque接口:双端队列.
⑩ PriorityQueue:优先队列,不是简单的先进先出,而是由优先级决定.
⑪ Stack:栈 后进先出的一种线性表.
⑫ Map接口:存储的是"键值对"(Key-Value数据),不是线性结构,是一种映射关系.有内部类(类似入口)存放键值对.
⑬ HashMap:基于哈希表实现.
⑭ TreeMap:基于二叉搜索树实现.
⑮ TreeSet:基于二叉搜索树实现.
⑯ HashSet:基于哈希表实现. -
小tips:
Hash思想方法是当前互联网分布式系统理论基础.
以上就是关于集合类框架的初始部分 之后会持续更新介绍各个接口以及实现类的具体操作方法!
文末一堆小小的废话:很久不写博客 懒了将近一个月 上个月参加了百度的实习面试 害 感觉有一些打击 自闭了一段时间 感谢朋友的开导 也在慢慢恢复状态 压力也是动力 尽快复盘上次的面试吧 就当是一次经验了
还有一打小鸡汤:越滞涩艰难的时候,越要相信踏实的力量,往深处扎根,默默拔节生长,不要自欺.相信时运流转的时候,也格外偏爱踏实的人