我想要反向地图,这意味着我有很多键,只有一个值。我需要这种结构,因此当我搜索其中一个键时,我会得到值。
我可以使用一个简单的哈希映射,但是由于多次存储值而浪费了空间。我正在寻找Java中的优化和高效实现。感谢您的建议。
最佳答案
应该使用HashMap。当您将“ cloth”作为值放入HashMap时,它不会在内存中重复。只是引用被写入HashMap中。
String hat = "hat";
String dress = "dress";
String paths = "paths";
String scarf = "scarf";
String cloth = "cloth";
HashMap h = new HashMap();
h.put(hat,cloth);
h.put(paths,cloth);
h.put(dress,cloth);
h.put(scarf,cloth);
对于此示例,内存仅保留一次布料对象。