Iterator接口:
Iterator就是迭代器接口,实现该接口的所有类应该都可以返回一个迭代器,允许用户用迭代器快速遍历集合中的数据。
包含的方法:
boolean hasNext():判断是否还有下一个元素;
E next():获得迭代器中的下一个接口;
void remove():该方法移除迭代器的游标当前所指的元素,因此每个next()后面只能调用一次。
Collection接口:
继承接口:Iterable<E>;
接口方法:
int size();
boolean isEmpty();
boolean contains(Object o);
Iterator<E> iterator();
Object[] toArray();
<T> T[] toArray(T[] a);
boolean add(E e);
boolean remove(Object o);
boolean containsAll(Collection<?> c);
boolean addAll(Collection<? extends E> c);
boolean removeAll(Collection<?> c);
boolean retainAll(Collection<?> c);
void clear();
boolean equals(Object o);
int hashCode();
int size():返回集合的元素数,(注:当元素数量大于Java中Integer所能表示的最大值2147483647 时,返回2147483647,元素数量太大时会有问题,但是有病啊,干嘛把这么多东西放在缓存里,会死人的!)
boolean isEmpty(): 判断是否集合元素为空;
Iterator<E> iterator():返回该集合对应的迭代器,迭代器是保证元素顺序的,除非集合本身保证顺序。
Object[] toArray():返回集合元素组成的Object数组,如果原集合保证顺序,那么返回的数组具有同样的顺序。
<T> T[] toArray(T[] a):根据集合运行时的类型返回相应类型的数组。
boolean add(E e):添加一个集合元素,正常添加返回true,否则返回false
boolean remove(Object o):删除一个元素,有必要看一下这个方法是怎么判断所要删除的元素的:o==null?e==null:o.equals(e),如果存在这样的一个或多个元素则删除并返回True
boolean containsAll(Collection<?> c):判断是否包含c集合中的所有元素。
boolean addAll(Collection<? extends E> c):想该集合中添加c中所有的元素。
boolean retainAll(Collection<?> c):删除不再c集合中的所有元素。
boolean equals(Object o):集合中元素的比较方法。
int hashCode():返回该集合的哈希值。
这两个接口是我认为的两个公共接口。