Java集合类型【学习笔记】

思考:

Java集合类型【学习笔记】_第1张图片


Java集合类型【学习笔记】_第2张图片
List:线性表
Set:集合(不能有重复元素)(key)
Map:字典(key, value)


Java集合类型【学习笔记】_第3张图片
ArrayList:用数组数组实现的线性表
LinkedList:用链表实现的线性表
HashSet:用哈希表实现set
TreeSet:用二叉树组的树实现set

  • (用 平衡二叉搜索树 找元素)
  • (平衡算法:红黑树)

常见问题

在这里插入图片描述
Java集合类型【学习笔记】_第4张图片
【思考】:
他们都是list(线性表的结构)
他们实现不同
e:element

【一句话回答】:
List是一个接口,
ArrayList和LinkedList是2个实现,
ArrayList是用数组实现的,
LinkedList是用链表实现的。


在这里插入图片描述
Java集合类型【学习笔记】_第5张图片
什么时候才需要用Hashtable呢?
是么时候都不需要,它只是一个遗留的产物。
线程安全的情况下用ConcurrentHashMap;
线程不安全的情况下用HashMap;
如果不允许null,在HashMap外面包一下,或者使用第三方类库提供不允许null值的Map。


Java集合类型【学习笔记】_第6张图片
Java集合类型【学习笔记】_第7张图片


在这里插入图片描述
不是。
Java集合类型【学习笔记】_第8张图片
在这里插入图片描述
entry满天飞


在这里插入图片描述
Java集合类型【学习笔记】_第9张图片
在这里插入图片描述
什么时候需要用到Entry?

  • 遍历Map里所有的值。遍历entrySet()更快。
  • 实际使用中,Entry是必须要有的,但是不想过多依赖它,因此用entrySet()返回的东西还是Set。

总结问题:

Java集合类型【学习笔记】_第10张图片

你可能感兴趣的:(学习笔记,java,集合)