Collection接口:单值的集合;
List接口:是Collection的子接口,最大的特点是里面可以有重复的元素;
-ArrayList(重点)
-Vector(旧的子类,线性安全)
-LinkedList
-Queue
Set接口:是Collection的子接口,最大的特点是里面没有任何的重复元素;
-TreeSet(排序,实现SortedSet接口)
-HashSet(不能真正排除重复元素,因为如果该元素是对象,要排除重复,需要在该对象的类定义中覆写equals方法与hashCode方法)
集合输出:Iterator、ListIterator、foreach
Map接口:一对值的集合;(可以将Map全部的key用Map.keySet方法以Set形式返回,用Map.values方法全部的value以Collection形式返回)
-HashMap(重点)(关于重复元素的排除,与HashSet一样)
-Hashtable(旧的子类,线性安全)
-TreeMap(按key排序的子类)
-Map.Entry(利用Map.Entry进行Iterator输出)
-(如何使用foreach输出)
--------------------------------------------------
import java.util.HashMap;
import java.util.Map;
public class ForeachMapDemo {
public static void main(String[] args){
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("zhangsan", 1);
map.put("zhangsan", 2);
map.put("lisi", 3);
map.put("wangwu", 5);
for(Map.Entry<String, Integer> me:map.entrySet()){
System.out.println(me.getKey());
System.out.println(me.getValue());
}
}
-------------------------------------------------
-(如何使用非系统类作为key)
-------------------------------------------------
需要该非系统类覆写equals方法与hashCode方法
-------------------------------------------------
-IdentityHashMap(非正常的操作子类)(可以重复加入不是同一个地址的对象)