几个接口:
根接口:Map和Collection
- Collection接口
- Queue 接口 (队列)
- List接口 (序列)
- Set接口 (集)
- Map接口 (键值对)
几个实现类
- ArrayList extends implements List
- LinkedList extends implements List, Queue
- HashSet extends implements Set
- HashMap extends implements Map
特点
- List 集合有序,Set集合无序且没有重复元素;
- Map提供一种映射关系,以键值对的的形式,即一个Entry类的实例进行存储;
遍历
List的遍历
List<T> list = new ArrayList();
- 迭代器遍历
Iterator it = list.iterator(); //获取迭代器
while(int.hasNext()) {
T t = it.next(); //取出当前元素
}
- for循环遍历
for (int i = 0; i < list.size(); i++) { //list.size() 获取集合容量
T t = list.gte(i); //通过get方法取出遍历每一个元素
}
- foreach遍历
for(T index : list) { // 元素类型T 每次循环元素的名称O : 循环对象
T t = index;
}
当List定义时没有使用泛型规定时,List中存储的元素都是Object对象,在取出元素的时候必须进行强制转换,将Object类型转换为所需类型;且使用foreach语句时,其中的T应该写为Object。即:
for(Object obj : list) { // 元素类型T 每次循环元素的名称O : 循环对象
T t = (T) index;
}
Set 的遍历
Set集合没有顺序,因此对Set的遍历只能使用迭代器或者foreach语句。
Set<T> st = new HashSet<T>();
- 迭代器遍历
Iterator it = st.iterator(); //获取迭代器
while(it.hasNext()) {
T t = it.next();
}
- foreach遍历
for(T index : st) {
T t = index;
}
同样,没有规定泛型时要进行强制类型转换。