整理了一些java常用数据结构,简单总结了特点和一些常用方法
Collection(接口)
|__List(接口)
| |__ArrayList 查询效率高 ,线程不安全
| |__LinkedList 插入删除效率高
| |__Vector 查询效率高,线程安全(synchronized )
| |__Stack 后进先出(empty测试是否为空;peek查看栈顶指针;pop移除栈顶对象并作为此函数的值返回该对象;push压入栈顶)
|
|__Set(接口)
| |__HashSet 可以有且仅有一个空元素(null),不能重复,无序
|
|__Queue(接口) 先进先出
|__LinkedList
|__BlockingQueue(接口),不接受null
Map(接口)
|__HashMap 线程不安全,可以有且仅有一个空元素(null)
|__hashTable 线程安全性,同步(synchronization)
|__ConcurrentHashMap 线程安全,同步(锁分段技术)
Collections.(工具类)
sort:排序
synchronizedList:将list转换为线程安全的
synchronizedMap:将map转换为线程安全的
reverse: 反转列表顺序
swap:交换列表两个元素的位置
max: 最大元素
Arrays.(工具类)
sort: 排序
asList: 返回指定大小的列表
List(接口)
isEmpty:是否为空
remove:删除指定位置元素
set:替换指定位置元素
toArray: 以数组形式返回
更多更深入的了解建议查看下面两篇博文:
JAVA常用数据结构及原理分析(面试总结)
https://blog.csdn.net/qq_29631809/article/details/72599708
Java常用数据结构总结
https://blog.csdn.net/wufaliang003/article/details/55261097