2015-04-15 2 views
0

Могу ли я построить карту более лаконично? Похоже, что Sets.cartesianProduct(set1, set2, ...), я хотел бы, чтобы один-лайн построил карту с пустыми, инициализированными, изменяемыми списками. Следующий код предназначен только для иллюстрации.Инициализировать карту новыми списками в Java

Map<MyEnumeration, List<String>> answer = new HashMap<>(); 
for (MyEnumeration enum : MyEnumeration.values()) { 
    answer.put(enum, new ArrayList<String>()); 
} 

Мне нравится чужие [проверенные] коды. This не совсем прав, this действительно о том, как создавать вещи и, несмотря на название, this действительно вопрос о дженериках.

+1

Ну, это будет зависеть от того, как вы получаете список? –

+0

@RohitJain Прямо здесь, я хочу новый список, но если бы у меня была коллекция списков, и я мог бы сделать декартовую подобную продукту операцию, это сработало бы. – user121330

+0

Вы используете Java 8? –

ответ

1

Вы можете использовать EnumMap.

Например:

Map<MyEnumeration, List<String>> answer = new EnumMap(MyEnumeration.class); 
+0

Списки не инициализируются. – user121330

+0

@ user121330 даже добавление пустого списка на карту в порядке, u может заполнить его позже –

+0

@SrinathGanesh, который был бы идентичен в строках кода коду, который я предлагал. – user121330

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