Java - 指向同一个键的多个哈希映射

Tim*_*ate 7 java hashmap

我有多个文件,其中包含key = value字符串对.文件之间的键是相同的,但值不同.每个文件可以有1000多个这样的对.

我想将每个文件存储在一个单独的hashmap中,即map<KeyString, ValueString>如果有五个文件,则会有五个hashmap.

为避免在每个散列映射中复制键,是否可以让每个映射引用相同的键?请注意,一旦将键添加到地图中,它将不会被删除.

我考虑将第一个文件设置为flyweight模式中的"base",此基数将是键/值的固有集合.其余剩余的文件将是外部值集,但我不知道如何将值与基本(内部)键相关联而不复制键?

我对更简单/更好的方法持开放态度.

kew*_*wne 1

读入密钥后,您可以使用String.intern(). 当被调用时,它的作用是:

  • 如果字符串尚不存在,则将其添加到内部池中;
  • 如果字符串已经存在,则从池中返回等效的字符串。

字符串#intern Javadoc