1.数组
1.1 由基本数据类型构成的数组会自动初始化成零(针对数值类型)、null(字符类型)或者false(布尔类型)
2.集合
Vector:使用Enumeration遍历数组
Enumeration e = cats.elements();
toString方法中使用 "对象地址:"+this 会导致递归调用
可以调用super.toString()打印内存地址,避免导致无意识的递归调用。
Vector 只能容纳对象的句柄,所以它不可包含基本数据类型;而且将一个对象句柄从集合中取出来的时候,必须对结果进行造型处理。
BitSet:“二进制位”构成的一个 Vector,64位
stack: 后入先出集合
Hashtable:继承自Dictionary
3.集合类
虚线框代表“接口”,点线框代表“抽象”类,而实线框代表普通(实际)类。点线箭头表示一个特定的类准备实现一个接口(在抽象类的情况下,则是“部分”实现一个接口)。双线箭头表示一个类可生成箭头指向的那个类的对象。
List:在Collection基础上拓展功能
ArrayList:访问速度快,删除和插入元素效率较低
LinkedList:高效率地再列表中进行插入和删除操作,随机访问速度较慢
Set:
拥有与Collection完全相同的接口,没有额外的功能,Set值允许每个对象存在一个实例。
HashSet:对象必须定义hashCode()
ArraySet:面向小Set设计,适用于频繁创建和删除
TreeSet:由“红黑树”推得到的顺序Set
Map:
HashMap:基于散列表实现
ArrayMap:由ArrayList推得到的Map,适用于经常创建和删除的,小Map
TreeMap:获得排好序的结果
4.实用工具
Collections.unmodifiableMap(m) 不可修改集合
网友评论