飞道的博客

Java集合类型【学习笔记】

186人阅读  评论(0)

思考:



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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场