我正在尝试在重复哈希表的键时在值数组中添加值。例如,
Key1 = 123 ||值1 = 23
Key2 = 123 ||值2 = 56
所以当我完成添加我的元素时,我希望有类似的东西
key1 ==> [23,56]
我已经像这样初始化了我的哈希表
private myHash<Integer, myObject[]> data;
最佳方法是将整数映射作为键,将列表作为值。像这样:
// This is a member, meaning it's on class level.
private Map<Integer, List<Integer>> myHashMap = new HashMap<>();
// Now populate.. e.g. Key=123, Value 23
private addValueForKey(Integer key, Integer value) {
List<Integer> values = myHashMap.get( key );
if (values == null) {
values = new ArrayList<Integer>();
}
values.add( value );
}
现在,每次要向hashmap添加值时,只需调用该方法即可。例如:
addValueForKey( 123, 23 );
addValueForKey( 123, 56 );
使用:
private myHash<Integer, List<Integer>> data;
if(data.containsKey(123)
{
data.get(123).add(Object)
}
else
{
data.put(KeyValue,Object)
}