Как добавить значение в массив значений в Hash Table Java - PullRequest
0 голосов
/ 17 марта 2019

Я хочу добавить значение в массив значений, когда ключ моей хеш-таблицы повторяется.Например,

Key1 = 123 ||Значение1 = 23

Ключ2 = 123 ||Value2 = 56

Поэтому, когда я закончу добавлять свои элементы, я ожидаю что-то вроде

Key1 ==> [23,56]

Я инициализировал свою хеш-таблицу следующим образом

private myHash<Integer, myObject[]> data; 

Ответы [ 3 ]

1 голос
/ 17 марта 2019

Лучший подход - это карта целых чисел в качестве ключа и список в качестве значения.Например:

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

Теперь каждый раз, когда вы хотите добавить значение в вашу хэш-карту, просто вызовите метод.например:

addValueForKey( 123, 23 );
addValueForKey( 123, 56 );
0 голосов
/ 17 марта 2019
if(data.containsKey(123)
  {
    data.get(123).add(Object)
  }
 else
  {
    data.put(KeyValue,Object)
  }
0 голосов
/ 17 марта 2019

Использование:

private myHash<Integer, List<Integer>> data; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...