ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
![](https://img.kancloud.cn/2f/45/2f459861d963c59dddd56d7466da4381_643x611.png) **1. Vector与ArrayList** (1)Vectory 允许设置默认的增长长度,默认扩容方式为原来的2倍。 (2)ArrayList 默认初始容量为10,每次增长当前长度的1.5倍。 (3)Vectory 和 ArrayList 的底层数据结构都是动态数组,查询快,增删慢。 (4)Vectory 线程安全,效率低;ArrayList 是线程不安全,效率高。 <br/> **2. Stack** (1)栈是 Vector 的一个子类,它实现了一个标准的后进先出的栈。 <br/> **3. Dictionary** (1)Dictionary 是一个抽象类,用来存储键/值对,作用和 Map 相似。 <br/> **4. Hashtable与HashMap** (1)Hashtable 继承 Dictionary 类。 (2)Hashtable 和 HashMap 都实现了 Map 接口。 (3)Hashtable 底层数据结构是哈希表;HashMap 底层数据结构是:数组+哈希表+红黑树。 (4)Hashtable 是线程安全的,效率低;HashMap 是线程不安全,效率高。 (5)Hashtable 不允许存储 null 键、null 值,否则抛出 NullPointerException;HashMap 允许存在 null 键和 null 值。 <br/> **5. Properties** (1)Properties 类是 Hashtable 类的子类,它相当于一个 key、value 都是 String 类型的 Map,主要用于读取配置文件。 <br/> **6. BitSet** (1)一个 BitSet 类创建一种特殊类型的数组来保存位值。 (2)BitSet 中数组大小会随需要增加。