Динамически добавлять элемент в map of maps Java 8

#java

#java

Вопрос:

Должно быть легко найти подобный вопрос в сети, но я не смог. Я хочу динамически добавлять элементы на карту, которая содержит другие карты и т. Д

 Map<String,Map<String,String>>
  

дело в том, что я хочу что-то аккуратное, короткое и элегантное, в идеале, как в Java 9

 Map<"test",Map.of("test1","Test2")>
  

но в этом проекте я застрял на Java 8, поэтому попробовал использовать Guava.

 Map<String,Map<String,String>> kon;
kon.put("yuo",ImmutableMap.of(" Masdad","dada"));
  

но он жалуется, что kon не инициализируется, есть предложения?

Комментарии:

1. «в идеале, как в Java 9» Этот фрагмент недопустим в Java 9 или, действительно, в любой версии Java прошлого, настоящего или будущего.

2. Вероятно, вам следует ознакомиться с тем, как работает Java, например, с 1. tutorial . Перед их использованием необходимо инициализировать локальные переменные. Например: kon = new HashMap<>() в вашем примере

3. @user2557930 Java очень многословна, поэтому вы не можете добиться этого напрямую. Возможно, вы захотите использовать Kotlin, который позволяет что-то вроде этого map[key] = value

4. хорошо, спасибо, Лино!

Ответ №1:

но он жалуется, что kon не инициализируется, есть предложения?

Инициализируйте свою карту.

 Map<String,Map<String,String>> kon = new HashMap<>();
kon.put("yuo",ImmutableMap.of(" Masdad","dada"));
  

Комментарии:

1. Дядя Боб говорит, что инициализация переменных пахнет кодом

Ответ №2:

Он выдает сообщение «kon не инициализирован», потому что вы его не инициализировали.

 Map<String,Map<String,String>> kon = new HashMap<>();