Добавить элемент на карту карт динамически Java 8

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

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

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

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

Michael 14.03.2019 13:42

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

Lino 14.03.2019 13:44

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

Lino 14.03.2019 13:57

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

user2557930 14.03.2019 14:18
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
4
463
2

Ответы 2

but it complains kon is not initializes, any suggestions ?

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

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

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

Michael 14.03.2019 13:45

Он жалуется, что «кон не инициализирован», потому что вы его не инициализировали.

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

Другие вопросы по теме