欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

java中集合继承体系

时间:2023-06-13
Collection集合与Map平级


Collection接口概述

Collection 层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。

ArrayList:

1、底层数据结构是数组,查询快,增删慢
2、线程不安全,效率高

linkedList:

1、底层数据结构是双链表,查询慢,增删快
2、线程是不安全的,效率高

linkedList特有的方法:
1、添加功能:
public void addFirst(Object e) 在集合的开头添加元素
addLast(Object e) 在结合末尾添加元素,等同于add()方法
2、获取功能:
public Object getFirst() 获取集合中的第一个元素
getLast() 获取集合中的最后一个元素
3、删除功能:
public Object removeFirst() 从集合中删除第一个元素并返回
public Object removeLast() 从集合中删除最后一个元素并返回

Vector:

底层数据结构是数组,查询快,增删慢
线程安全,效率低(虽然它是线程安全的,我们今后也不会去使用它,后面会说一个线程安全的类代替它)

Vector特有的方法:
public void addElement(Object obj)

将元素添加到集合的末尾 效果上和add()一样
public Object elementAt(int index)

获取指定索引处的元素 get(int index)

返回此向量的组件的枚举。
public Enumeration elements()

linkedHashSet:

1、底层数据结构是哈希表和链表
2、哈希表保证元素的唯一
3、链表保证了元素的有序(存储和取出的顺序一致)
4、线程不安全,效率高

Set集合:

元素是唯一的,并且元素的顺序是无序的集合

HashSet:

不保证 set 的迭代顺序
特别是它不保证该顺序恒久不变。
HashSet如何保证元素唯一性
底层数据结构是哈希表(元素是链表的数组)
哈希表依赖于哈希值存储
添加功能底层依赖两个方法:
int hashCode()
boolean equals(Object obj)

linkedHashSet:

元素有序唯一
由链表保证元素有序
由哈希表保证元素唯一

TreeSet:

使用元素的自然顺序对元素进行排序
或者根据创建 set 时提供的 Comparator 进行排序
具体取决于使用的构造方法。
TreeSet是如何保证元素的排序和唯一性的
底层数据结构是红黑树(红黑树是一种自平衡的二叉树)

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。