| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 【数据结构与算法】【02】Java常用集合类特性分析和底层实现 -> 正文阅读 |
|
[数据结构与算法]【数据结构与算法】【02】Java常用集合类特性分析和底层实现 |
Java集合类和通用数据结构的区别 Java集合类是从数据使用方式的角度,对复杂数据类型进行分类的
通用数据结构则是从数据内存结构的角度,对复杂数据类型进行分类的 误区 大多时候,数据的使用方式,就已经决定了其底层采纳的内存结构 比如一想到List,就想到数组、链表,一想到Map,就想到哈希表 它们的关联性太强了,以至于没经过系统学习的,经常将它们混为一谈 但当我们系统学习完全部的集合类和数据结构后,就会发现 其实一种集合类,底层可能通过不同的数据结构都可以实现,但是效率和特性是不一样的 也有的集合类,是由多种数据结构一起组合来实现的 集合类,更像是一种封装给开发者使用的高级数据结构 而我们学习的通用数据结构,则是一种跨语言的,通用的底层数据结构 当然,在平时工作中,我们用到的大多时候可能就是最简单的ArrayList和HashMap 我们就简单地把集合类说成数据结构也无妨 Java常用集合类 这里是一份Java集合类的大纲总结图 大家可以点击拖拽查看大图,也可以看下面的文字说明 至于每种数据结构到底是什么样的,每种集合类的实现代码是怎么样的 每一点都足够写成一篇博客了,我们后面再逐个讲解,本篇博客只是一篇总结索引 但是对于只想了解Java常用集合类特性的同学来说,已经足够了,毕竟不是所有人都愿意撸一遍源码
Collection用于存放单列数据 Map用于存放双列数据,一列是关键字,一列是实际值,可通过关键字查找实际值 List和Set List元素存放有顺序,相同数据可以存放多份,可以按位置访问数据 Set元素存放无顺序,相同数据会被覆盖,无法按位置访问数据 List子类特性比较 List子类常见的有ArrayList、LinkedList、Vector
Set子类特性比较 Set集合都是通过Map来实现的,因为Map的键是唯一的,和Set值唯一性的特征正好吻合 所以对Map做一下简单的包装,Map的Value为null时,就可以把EntryKey当Set来使用了 Set常见子类有HashSet、LinkedHashSet、TreeSet
Set我们不细讲,后面讲完Map后,自然就知道Set怎么一回事了 Map子类特性比较 Set常见子类有HashMap、LinkedHashMap、TreeMap、HashTable、Properties
容器的线程安全
|
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:00:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |