2014-09-29 3 views
1

Я на самом деле, глядя существуют ли какие-либо структуры или интерфейса в JavaКакой тип данных использовать в java?

1 -> A 
1 -> B 

2 -> A 
2 -> B 
2 -> C 

, которые хранят детали, как

1 -> {A,B} and 2 -> {A,B,C} 

Мол, если я использую карту, это может быть возвращение в

1 -> B and 2 -> C 

Я ищу что-то, что может вернуться как

1 -> {A,B} and 2 -> {A,B,C} 

Спасибо!

+1

Возможно, вы могли бы попытаться использовать карту массивов ...? – Peter

+0

Вы можете создать 'Map ' или 'Map >' или использовать String вместо Character, в зависимости от вашего реального варианта использования. –

+1

Вы не предоставили достаточную информацию о свойствах данных для ответа на вопрос. Например, это то, что вы использовали '1' и' 2' в качестве примеров для того, чтобы на самом деле были последовательными целыми числами? –

ответ

1

Как карта массивов? Вы можете использовать карту, чтобы хранить любые значения, вы можете использовать карту списков, например:

Map <Integer, List<YourObject> map = new HashMap<Integer, List<YourObject>; 

она должна хорошо работать в вашем случае.

0

Вы можете использовать Map<Integer, List<String>> (Карту, ключи являются целыми числами и значений являются списками строк)

1

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

В качестве альтернативы вы можете использовать предварительно приготовленную реализацию с несколькими картами, скажем MultiMap от Apache Commons.

Смежные вопросы