我有一个对象列表,其中包含表的行数据。该表中有多个列,但我认为这不是问题。我需要应用的逻辑只需要两列。这两列称为化学名称和批处理号。现在有趣的部分是,对于特定的批处理号,某种化学品可以出现多次。例如,
化学 |批处理|其他栏目
A----------------100---------ABC
A----------------100---------GHF
A----------------100---------GHL
现在我需要的是批处理号及其关联的行。我意识到最好的方法是 HashMap,其中 K 是批处理号,V 是列表。现在我不知道如何将键分配给包含行对象的列表。
我希望,但我无法在数据库级别执行此操作,因此这是不可能的。
最佳答案
您可以使用Map<String, List<String>>
根据给定的键存储事物列表。
如果你想变得更花哨,你可以使用这个 anonymous实现:
Map<String, List<String>> map = new HashMap<String, List<String>>() {
public List<String> get(Object key) {
List<String> list = super.get(key);
if (list == null) {
list = new ArrayList<String>();
put(key, list);
}
return list;
}
}
当列表不存在时,它会自动创建一个列表,因此您可以像这样安全地使用它:
map.get(key).add("new item"); // won't get a NuilPointerException
如果找到客户的这个码型get()
方法非常方便!
关于java - HashMap 一个键关联到一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12486896/