图中: 常用的容器用紫色粗线框表示;
点线框表示接口,实线框表示普通的(具体的类);
带有空心箭头的点线表示一个特定的类实现了一个接口;
实心箭头表示某个类可以生成箭头所指向类的对象。
容器使用总结:
1. Collection 保存单一的元素,而Map保存相关联的键值对。
2. 像数组一样,List也建立数字索引与对象的关联,因此,数组和List都是排好序的容器。List能够 自动扩容。
3. 如果要进行大量的随机访问,就使用ArrayList;如果要经常从表中间插入或删除元素,则应该使 用LinkedList。
4. Map是一种将对象(而非数字)与对象相关联的设计。HashMap设计用来快速访问;TreeMap 保持“键”始终处于排序状态,所以没有HashMap快。LinkedHashMap保持元素插入的顺序,但 是也通过散列提供了快速访问能力。
5. Set不接受重复元素。HashSet提供最快的查询速度,而TreeSet保持元素处于排序状态。
LinkedHashSet以插入顺序保存元素。