思考:
List:线性表
Set:集合(不能有重复元素)(key)
Map:字典(key, value)
ArrayList:用数组数组实现的线性表
LinkedList:用链表实现的线性表
HashSet:用哈希表实现set
TreeSet:用二叉树组的树实现set
- (用 平衡二叉搜索树 找元素)
- (平衡算法:红黑树)
常见问题
【思考】:
他们都是list(线性表的结构)
他们实现不同
e:element
【一句话回答】:
List是一个接口,
ArrayList和LinkedList是2个实现,
ArrayList是用数组实现的,
LinkedList是用链表实现的。
什么时候才需要用Hashtable呢?
是么时候都不需要,它只是一个遗留的产物。
线程安全的情况下用ConcurrentHashMap;
线程不安全的情况下用HashMap;
如果不允许null,在HashMap外面包一下,或者使用第三方类库提供不允许null值的Map。
不是。
entry满天飞
什么时候需要用到Entry?
- 遍历Map里所有的值。遍历entrySet()更快。
- 实际使用中,Entry是必须要有的,但是不想过多依赖它,因此用entrySet()返回的东西还是Set。
总结问题:
转载:https://blog.csdn.net/qq_38427787/article/details/115821037
查看评论