第八章 对象的容纳 2018-10-26

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) 不可修改集合

你可能感兴趣的:(第八章 对象的容纳 2018-10-26)