Iterable
public interface Iterable<T> {
Iterator<T> iterator();
}
实现该接口的方法都可以被遍历。
Collection
public interface Collection<E> extends
Iterable<E>
Set和List 都继承了Conllection,Map没有。
Collection接口的方法:
boolean add(Object o) :向集合中加入一个对象的引用
void clear() :删除集合中所有的对象,即不再持有这些对象的引用
boolean isEmpty() :判断集合是否为空
boolean contains(Object o): 判断集合中是否持有特定对象的引用
Iterartor iterator() : 返回一个Iterator对象,可以用来遍历集合中的元素
boolean remove(Object o) :从集合中删除一个对象的引用
int size() :返回集合中元素的数目
Object[] toArray() :返回一个数组,该数组中包括集合中的所有元素
Iterator
public interface Iterator<E>
用于遍历Collection的迭代器。
Iterator接口声明了如下方法:
hasNext(): 判断集合中元素是否遍历完毕,如果没有,就返回true
next() :返回下一个元素
remove():从集合中删除上一个有next()方法返回的元素。
List:
public interface List<E> extends
Collection<E>
List接口主要实现了两个实现类:
ArrayList() : 变长数组。可以对元素进行随机的访问,向ArrayList()中插入与删除元素的速度慢。
LinkedList(): 链表数组。插入和删除速度快,访问速度慢。
Set:
public interface Set<E> extends
Collection<E>{}
Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。
Set接口主要实现了两个实现类:
HashSet : 为快速查找设计的Set。存入HashSet的对象必须定义hashCode()。
TreeSet : 保存次序的Set, 底层为树结构。使用它可以从Set中提取有序的序列。
LinkedHashSet : 具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的次序)。于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。
Map:
public interface Map<K,V>
存放多组键值对。