标签:class 遍历 https 关系 linked 支持 类型 改变 cimage
Collection是最基本的集合接口,一个Collection代表一组Object。Java SDK不提供直接继承自Collection的类,提供的类都是继承自Collection的子接口(如List和Set)
public interface Collection<E> extends Iterable<E>{}
Collection是一个接口,是高度抽象出来的集合,他包含了集合的基本操作:添加、删除、查找、清空、遍历、大小等。
无论Collection的实际类型是什么,都支持一个iterator()方法,迭代每一个元素。
####Iterator方法
boolean hasNext() //如果仍有元素可以迭代,则返回true;
E next() //返回迭代的下一个元素;
void remove() //从迭代器指向的集合中移除迭代器返回的最后一个元素。
Iterator it = collection.iterator(); //获得一个迭代子
while( it.hasNext() ) {
Object obj = it.next(); //得到下一个元素
}
Collection
? ? |—List 有序可重复,可有null值
? ? ? ? |——ArrayList 非线程安全,底层为数组,查询快,增删慢,效率高
? ? ? ? |——LinkedList 非线程安全,底层为链表,查询慢,增删快,效率高
? ? ? ? |——Vector 线程安全,底层为数组,查询快,增删慢,效率低。
? ? |—Set 元素不可重复的collection
? ? ? ? |——HashSet 底层由HashMap实现,通过对象的hashCode方法与equals方法来确保插入元素的唯一性,无序存储(存储顺序和取出顺序不一致)
? ? ? ? ? ? |——LinkedHashSet 底层由哈希表和链表组成。哈希表保证元素的唯一性,链表保证元素的有序性(存储和取出顺序一致)
? ? |——TreeSet 基于TreeMap的NavigableSet实现。使用元素的自然顺序对元素进行排序,根据创建set时提供的Comparator进行排序,元素唯一
标签:class 遍历 https 关系 linked 支持 类型 改变 cimage
原文地址:https://www.cnblogs.com/willwuss/p/12238938.html