Java集合
来源:互联网 发布:不是我不爱你网络歌手 编辑:程序博客网 时间:2024/06/03 21:33
- List
常用的有ArrayList,Vector,LinkedList。
其中ArrayList和Vector底层通过数组实现,它们两者几乎使用了相同的算法,唯一的区别在于vector对绝大部分操作都做了线程同步。
LinkedList使用了循环双向列表数据结构。 - Map
常用的Map为Hashtable,HashMap,LinkedHashMap和TreeMap。
Hashtable和HashMap内部有一些小差别,Hashtable是线程安全的实现,而HashMap没有考虑线程安全。Hashtable不允许key或者value为null,而HashMap可以。另外,两者的hash算法,以及hash到内存索引的映射算法也是不一样的。
以HashMap为例,简单的说,就是将key进行哈希计算,将得到的哈希值映射到内存地址,数据存储到相应的内存地址(数组索引)。底层数据结构使用的是数组。
LinkedHashMap在HashMap的基础上,增加了一个链表,用以存放元素的顺序。
TreeMap则要求元素的key实现Comparable接口。 - Set
元素不能重复
最为重要的是HashSet,LinkedHashSet和TreeSet。它们是相应Map类的封装,
阅读全文
0 0
- Java集合:集合框架
- java集合---set集合
- JAVA 集合 的 集合
- 【集合】Java集合对比
- JAVA集合-Map集合
- JAVA集合-Set集合
- JAVA集合-List集合
- java集合------Map集合
- Java集合----List集合
- Java集合----Set集合
- Java集合----Map集合
- JAVA集合
- JAVA集合
- Java集合
- JAVA集合
- Java集合
- Java集合
- java 集合
- PhalApi-Zip -- 压缩文件处理类
- PhalApi视频教程
- unity官方内置网络unet的实例教程(三)
- PhalApi-Excel
- No CMAKE_C_COMPILER could be found.
- Java集合
- webuploader按钮不起作用终极解决
- SDP协议详细总结
- SSM 框架拦截器:实现用户验证
- unity官方内置网络unet的实例教程(四)
- 悉尼峰会:OpenStack进入发展新阶段 开放战略迎来累累硕果
- 悉尼峰会:部署 BareMetal 云不是一件容易的事,但我们做到了!
- 悉尼峰会: OpenStack 与 Kubernetes 融合之路
- Go语言实现拓扑排序