Avatar ·

Cómo inicializar un HashMap en Java de forma literal (como un literal)

¡Hola a todos! Acabo de empezar a aprender Java y me encontré con un problema. En Python puedo declarar un diccionario de forma literal, por ejemplo: ```python my_dict = {"key1": "value1", "key2": "value2"} ``` Pero en Java, cuando intento hacer algo similar para un HashMap, no funciona. Tengo que escribir un código tan voluminoso como este: ```java HashMap map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); ``` Esto es muy incómodo, especialmente cuando necesito inicializar un mapa pequeño con valores conocidos. He oído hablar de la "inicialización de doble llave" (double brace initialization), pero leí que es una mala práctica. ¿Hay alguna forma en Java de declarar un HashMap de forma literal, como en Python? Es decir, pasar todos los pares clave-valor en el momento de crear el objeto. Agradecería ejemplos de código y explicaciones. La versión de Java es la 11, pero también me interesa conocer características más nuevas. <<>>

La mejor manera: métodos de fábrica estáticos (Java 9+)

Empie