HashTable

HashtableHashMap 的作用一样,实际上,它们拥有相同的接口。HashTable 是同步的。如果对并发访问有需求,则要使用 ConcurrentHashMap

Enumeration

遗留集合使用 Enumeration 接口对元素序列进行遍历。Enumeration 接口有两个方法,即 hasMoreElements()nextElement()。这两个方法与 Iterator 接口的 hasNext() 方法和 next() 方法十分类似。

属性映射

属性映射(property map)是一个类型非常特殊的映射结构。它有下面3个特性:

  • 键与值都是字符串。
  • 表可以保存到一个文件中,也可以从文件中加载。
  • 使用一个默认的辅助表。实现属性映射的 Java 平台类称为 Properties。

我们经常通过 Properties 来表示一组「配置」。由于历史遗留原因,Properties 内部本质上是一个 Hashtable,但我们只需要用到 Properties 自身关于读写配置的接口。
比如读取 setting.properties 文件:

  1. String f = "setting.properties";
  2. Properties props = new Properties();
  3. props.load(new java.io.FileInputStream(f));
  4. String filepath = props.getProperty("last_open_file");
  5. String interval = props.getProperty("auto_save_interval", "120"); // 如果没有该选项,设置一个默认值

当然也可以写配置:

  1. Properties props = new Properties();
  2. props.setProperty("url", "http://www.liaoxuefeng.com");
  3. props.setProperty("language", "Java");
  4. props.store(new FileOutputStream("C:\\conf\\setting.properties"), "这是写入的properties注释");

更多详情请看这里

1.0 开始,就包含了栈。但是,Stack 扩展 Vector,而在 Vector 中还有不属于栈的 inser()remove() 方法。

BitSet

BitSet 存放一个为位序列。可以高效的存储位序列。
例如,有一个 bits 的 BitSet

  1. bits.get(i); // 查看该位是否为 true
  2. bits.set(i); // 设置该位为 true
  3. bits.clear(i); // 设置该位为 false