Java记录 -72- Vector,HashTable和Properties

来源:互联网 发布:什么绝症治不好 知乎 编辑:程序博客网 时间:2024/05/29 03:52

遗留的集合类:

Vector

Vector实现动态数组。这与ArrayList相似,但两者不同的是:Vector是同步的,并且它包含了许多不属于类集框架的从以前版本遗留下来的方法。随着Java2的公布,Vector被重新设计来扩展AbstractList和实现List接口,因此现在它与类集是完全兼容的。Vector底层也是维护着一个数组。

HashTable

散列表(HashTable)是原始 java.util中的一部分同时也是 Dictionary的一个具体实现。然而,Java 2重新设计了散列表(HashTable)以便它也能实现映射(Map)接口。因此现在的HashTable也被集成到类集框架中。它与HashMap相似,但它是同步的。

HashMap一样,HashTable将关键字/值对存储到散列表中。使用HashTable时,指定一个对象作为关键字,同时指定与该关键字相关联的值。接着该关键字被散列,而把得到的散列值作为存储在表中的值的下标。

Properties

属性(Properties)是HashTable的一个子类。Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。Properties类被许多其他的Java类所使用。例如,当获得系统环境值时,System.getProperties()返回对象的类型。

一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。

Properties的一个最有用的方面就是可以利用store()load()方法方便的对包含在属性(Properties)对象中的信息进行存储或从盘中装入信息。在任何时候,都可以将一个属性(Properties)对象写入流或从中将其读出。这使得属性列表特别方便实现简单的数据库。