Java容器
2020-09-25 21:55:15 0 举报
AI智能生成
aa
作者其他创作
大纲/内容
Collection
Set
HashSet
特点
底层是一个HashMap实例
add():实际是调用HashMap的put(),加入到key, valueq取默认常量PRESENT(null)
遍历:for循环,增强for循环,迭代器。(都是无序)
contains()/remove()/size()/isEmpty/clear()
快速查找
允许为null
TreeSet
基于TreeMap实现(底层是树结构)
树结构保证了存储有序性
可以实现排序功能
List
ArrayList
基于动态数组;默认初始化容量为10,扩容时1.5倍;可存放null值
改查效率高
增删效率低
增删要移动数据,效率低
非线程安全
Collections.synchronizedList(new ArrayList(...))可实现同步的ArrayList
LinkedList
基于双向链表
增删效率高
开销固定(分配一个内部Entry对象)
随机访问效率低
非线程安全
Vector
基于数组;初始Length为10;扩容时2倍
线程安全
所有方法都是同步,有性能损失
Map
HashMap
基于散列表+红黑树
非线程安全
TreeMap
基于红黑树(时间复杂度log(n)
非线程安全
有序(TreeMap->NavigableMap->SortedMap
LinkedHashMap
0 条评论
下一页