UML集合的继承结构图Collection
2021-05-25 09:42:30 11 举报
Collection
作者其他创作
大纲/内容
关联关系、has a
可迭代的,可遍历的,所有集合元素都是可迭代的,可遍历的。
List集合存储元素特点:有序可重复,存储的元素有下标。有序实际上是说存进去是这个顺序,取出来还是这个顺序。这里的顺序不是说按照大小排序有序是因为List集合都有下标,下标从0开始,以1递增
ArrayList集合底层采用了数组这种数据结构ArrayList集合是非线程安全的1、ArrayList集合初始化容量是102、ArrayList集合底层是一个Object类型的数组Object[]3、扩容到1.5倍。4、建议给定一个预估计的初始化容量,减少数组的扩容次数,这是ArrayList集合比较重要的优化策略。5、数组的优点:检索效率较高6、数组的缺点:随机增删元素效率比较低。7、但是向数组末尾添加元素效率还是比较高的。
<<interface>>Set
泛化
<<interface>>List
<<interface>>Iterable
+ iterator() : Iterator<>
<<interface>>Collection
Vector集合底层采用了数组这种数据结构Vector集合是线程安全的Vector所有的方法都有synchronized关键字修饰所以线程安全,但是效率较低,想再保证线程安全有别的方案,所以Vector使用的较少
实际上HashSet集合在new的时候,底层实际上new了一个HashMap集合。向HashSet集合中存储元素,实际上是存储到HashMap集合中了。HashMap集合是一个哈希表数据结构HashSet集合初始化容量是16初始化容量建议是2的倍数。扩容:扩容之后是愿容量的2倍。
集合的迭代器对象
实现关系、like a
所有集合继承Iterable的含义是,所有集合都是可迭代的
Vector
HashSet
TreeSet集合底层实际上是TreeMapnew TreeSet集合的时候,底层实际上new了一个TreeMap集合。往TreeSet集合中放数据的时候,实际上是将数据放到TreeMap集合中了。TreeMap集合底层采用了二叉树数据结构。
<<interface>>Iterator
+ hasNext() : boolean+ next() : Object+ remove() : void
LinkedList
ArrayList
SortedSet集合存储元素的特点:由于继承了Set集合,所以它的特点也是无序不可重复,但是放在SortedSet集合中的元素可以自动排序。我们称为可排序集合。放到该集合中的元素是自动按照大小顺序排序的。
<<interface>>SortedSet
这里的next()方法调用之后会返回一个Object类型的对象
Set集合存储元素特点:无序不重复。无序表示存进去是这个顺序,取出来就不一定是这个顺序了,另外Set集合中元素没有下标。Set集合中的元素还不能重复。
TreeSet
泛化关系、继承关系、is a
LinkedList集合底层采用了双向链表数据结构1、LinkedList集合是双向链表。2、对于链表数据结构来说,随机增删效率较高。检索效率较低3、链表中的元素在空间存储上,内存地址不连续。
收藏
0 条评论
下一页