1 javase提供的容器api位于java.util包内
2 容器API的类图结构如下
3 Collection接口定义了一组存取对象的方法
a 里面装的必须都是object,不能存值类型。
b remove,contains等方法,使用equals方法比较的。如果是作为键的时候,则使用hashCode方法比较,例如Map
c 重写equals方法的同时,必须重写hashCode方法,两个对象的equals相等时,必须保证hashCode也是相等的
4 Set中的数据无序且不能重复
5 List中的数据有序且可以重复
6 Map接口定义了存储键值对的方法
7 Collection接口定义了一iterator()方法,返回一个实现Iterator接口的对象,通过这个对象,统一实现对不同的collection子类的遍历
8 类java.util.Collections提供了一些静态方法,实现了基于List的常用算法
void sort(List) 对list内的元素排序
void shuffle(List) 对list内的元素随机排列
void reverse(List) 对list内的元素逆序排列
fill copy binarySearch等等。
9 实现了java.lang.Comparable接口的类,可以比较大小。只有一个方法compareTo(Object)
10 如何选择数据结构。衡量标准:读的效率和改的效率
Array 读快改慢
Linked 改快读慢
Hash 两者之间