一、基础知识:
Collection(Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set)
├List(有重复元素、有顺序)│├LinkedList 改快读慢
│├ArrayList 读快改慢 hash介于两者之间
│└Vector
│ └Stack
└Set(不包含重复元素但是是无序的)
collection迭代器:
Iterator it = collection.iterator(); // 获得一个迭代子
while(it.hasNext()) {
Object obj = it.next(); // 得到下一个元素
}
由Collection接口派生的两个接口是List和Set。
Map
接口不是 Collection
接口的继承。而是从自己的用于维护键-值关联的接口层次结构入手。按定义,该接口描述了从不重复的键到值的映射)
├Hashtable
├HashMap 适合查找插入与删除 TreeMap适合遍历键
└WeakHashMap
面试问题:
1、lterator与Listlerator有什么区别?
lterator:只能正向遍历集合,适用于获取一处元素。Listlerator:继承lterator,可以双向列表的遍历,同样支持元素的修改。