博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java集合:TreeSet、TreeMap、HashSet、HashMap、HashTable、ArrayList、LinkedList、Vector集合的全部比较
阅读量:2144 次
发布时间:2019-04-30

本文共 620 字,大约阅读时间需要 2 分钟。

List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口

Set下有HashSet,LinkedHashSet,TreeSet

List下有ArrayList,Vector,LinkedList

Map下有Hashtable,LinkedHashMap,HashMap,TreeMap

Collection接口下还有个Queue接口,有PriorityQueue类

总结: hash打头都是无序,set就是唯一,可以用来去重,除了Vector Hashtable 安全,其他都不安全

有序 :ArrayList LinkedList Vector LinkedHashSet TreeSet TreeMap

无序: HashSet HashMap HashTable

唯一 :HashSet LinkedHashSet TreeSet

重复 :ArrayList LinkedList Vector

安全: Vector Hashtable

不安全: ArrayList LinkedList HashMap HashSet LinkedHashSet TreeSet

如果要使用线程安全可以Collections.synchronizedSet()

TreeSet的主要功能用于排序

LinkedHashSet的主要功能用于保证FIFO即有序的集合(先进先出)

HashSet只是通用的存储数据的集合

转载地址:http://jfegf.baihongyu.com/

你可能感兴趣的文章
C++/C 宏定义(define)中# ## 的含义 宏拼接
查看>>
Git安装配置
查看>>
linux中fork()函数详解
查看>>
C语言字符、字符串操作偏僻函数总结
查看>>
Git的Patch功能
查看>>
分析C语言的声明
查看>>
TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手
查看>>
C结构体、C++结构体、C++类的区别
查看>>
进程和线程的概念、区别和联系
查看>>
CMake 入门实战
查看>>
绑定CPU逻辑核心的利器——taskset
查看>>
Linux下perf性能测试火焰图只显示函数地址不显示函数名的问题
查看>>
c结构体、c++结构体和c++类的区别以及错误纠正
查看>>
Linux下查看根目录各文件内存占用情况
查看>>
A星算法详解(个人认为最详细,最通俗易懂的一个版本)
查看>>
利用栈实现DFS
查看>>
逆序对的数量(递归+归并思想)
查看>>
数的范围(二分查找上下界)
查看>>
算法导论阅读顺序
查看>>
Windows程序设计:直线绘制
查看>>