前言
- Java的存储集合主要分为两大阵容
- Collection
- Map
- Collection旗下有三大,子接口
- List(列表) 元素有序可以重复,保持元素的顺序
- Queue(队列) 元素有序可以重复,保持队列的顺序
- Set(集合) 元素无序不可以重复元素
public interface List<E> extends Collection<E>
public interface Queue<E> extends Collection<E>
public interface Set<E> extends Collection<E>
- Map旗下以Key-Value存储,Key必须唯一
- HashMap
- TreeMap
- HashTable
Collection
Collection接口继承, 超级接口Iterable, 是Collection层次结构中的根接口
//例如代码
public interface Collection<E> extends Iterable<E>
Collection表示一组对象, 这些对象称之为Collection的元素
例如: List Queue Set
JDK不会提供此接口的任何直接实现, 而是提供一些更为具体的子接口(如List,Queue,Set接口)
//例如代码
public interface List<E> extends Collection<E>
关于Collection构造方法
全部的Collection实现类,通常通过它的, 至少一个子接口, 来间接实现Collection,
并且应该提供两个"标准"构造方法:
- 是使用void声明的构造方法, 用于创建空的Collection;
public ArrayList() {
this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;
}
- 是带有Collection类型的单参数构造方法.
public ArrayList(Collection<? extends E> var1) {
this.elementData = var1.toArray();
if ((this.size = this.elementData.length) != 0) {
if (this.elementData.getClass() != Object[].class) {
this.elementData = Arrays.copyOf(this.elementData, this.size, Object[].class);
}
} else {
this.elementData = EMPTY_ELEMENTDATA;
}
}