我有多个文件,其中包含key = value字符串对.文件之间的键是相同的,但值不同.每个文件可以有1000多个这样的对.
@H_403_2@我想将每个文件存储在一个单独的hashmap中,即map< KeyString,ValueString>,所以如果有五个文件,则会有五个hashmap.
@H_403_2@为避免在每个散列映射中重复键,是否可以让每个映射引用相同的键?请注意,一旦将键添加到地图中,它将不会被删除.
@H_403_2@我考虑将第一个文件作为flyweight模式中的“base”,这个基数将是键/值的固有集合.其余剩余的文件将是外部值集,但我不知道如何将值与基本(内部)键相关联而不复制键?
@H_403_2@我对更简单/更好的方法持开放态度.
解决方法
读入键后,可以使用String.intern().
被叫时,它的作用是: @H_403_2@>如果已经存在,则将String添加到内部池;
>如果已经存在,则从池中返回等效的String. @H_403_2@String#intern Javadoc
被叫时,它的作用是: @H_403_2@>如果已经存在,则将String添加到内部池;
>如果已经存在,则从池中返回等效的String. @H_403_2@String#intern Javadoc