Java容器分为Collection和Map两大类,都在Java.util包下面。 Collection
接口,提供了集合对象进行基本操作的通用方法, List、Set是它的子类。 Collections
是一个包装类,包含了很多静态方法,不能被实例化,就像一个工具类,比如提供的排序方法: Collections. sort(list)。(Jdk1.8中可以用,Jdk11可能作了改动)
public interface Collection<E> extends Iterable<E> {}
public abstract class AbstractCollection<E> implements Collection<E> {}
List特点是元素有序,且可重复。实现的常用集合类有ArrayList、LinkedList,和Vector(线程安全)。
public interface List<E> extends Collection<E>
public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>{}
-
ArrayList ArrayList的数据结构是数组,LinkedList是双向链表的数据结构实现,查询时LinkedList需要移动指针从前往后依次查找,ArrayList根据数组下标直接查找更快一些,所以ArrayList比LinkedList查询效率高,ArrayList底层是数组结构来实现的&#x