首页 > 解决方案 > 如何将值添加到哈希表Java中的值数组中

问题描述

当我的哈希表的键重复时,我正在托盘中添加一个值。例如,

键1 = 123 || 值 1 = 23

键2 = 123 || 值 2 = 56

所以当我添加完我的元素时,我期望像

键 1 ==> [23,56]

我已经像这样初始化了我的哈希表

private myHash<Integer, myObject[]> data; 

标签: javadata-structureshash

解决方案


最好的方法是将整数映射为键,将列表作为值。像这样:

// 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 );

推荐阅读