@ZhekaKozlov Traté de usar Map.of, cuando ejecuto la prueba dice que no pude encontrar el símbolojava: cannot find symbol symbol: method of(java.lang.String,double) location: interface java.util.Map
soMuchToLearn
@soMuchToLearn ¿Qué versión de Java usas? Correrjava -version
ZhekaKozlov
java 11, @ZhekaKozlovopenjdk 11.0.8 2020-07-14 OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04) OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
soMuchToLearn
9
Map<Integer, Point2D> hm = new HashMap<Integer, Point2D>();
usando Map<int, Point2D> hm = new HashMap<int, Point2D>(), obtengo este error: Error de sintaxis en el token "int", Dimensiones esperadas después de este token.
Kevin Meredith
Olvidé que los mapas de Java no admiten tipos primitivos. Arreglado eso.
Achrome
pero necesito Point2D como valor en [clave, valor]. : /
Kevin Meredith
Eso fue lo que escribí inicialmente.
Achrome
1
Utilizo este tipo de población de mapas gracias a Java 9. En mi sincera opinión, este enfoque proporciona más legibilidad al código.
publicstaticvoidmain(String[] args){
Map<Integer, Point2D.Double> map = Map.of(
1, new Point2D.Double(1, 1),
2, new Point2D.Double(2, 2),
3, new Point2D.Double(3, 3),
4, new Point2D.Double(4, 4));
map.entrySet().forEach(System.out::println);
}
Map<Integer, Double>
Respuestas:
Map <Integer, Point2D.Double> hm = new HashMap<Integer, Point2D>(); hm.put(1, new Point2D.Double(50, 50));
fuente
import java.util.Map; import java.util.HashMap;
oimport java.util.*;
Existe incluso una forma mejor de crear un mapa junto con la inicialización:
Map<String, String> rightHereMap = new HashMap<String, String>() { { put("key1", "value1"); put("key2", "value2"); } };
Para ver más opciones, eche un vistazo aquí. ¿Cómo puedo inicializar un mapa estático?
fuente
Java 9
public static void main(String[] args) { Map<Integer,String> map = Map.ofEntries(entry(1,"A"), entry(2,"B"), entry(3,"C")); }
fuente
Map.of(1, "A", 2, "B", 3, "C")
es mejorjava: cannot find symbol symbol: method of(java.lang.String,double) location: interface java.util.Map
java -version
openjdk 11.0.8 2020-07-14 OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04) OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
Map<Integer, Point2D> hm = new HashMap<Integer, Point2D>();
fuente
Point2D.Double
no parece unPoint2D
= \Map<int, Point2D> hm = new HashMap<int, Point2D>()
, obtengo este error: Error de sintaxis en el token "int", Dimensiones esperadas después de este token.Utilizo este tipo de población de mapas gracias a Java 9. En mi sincera opinión, este enfoque proporciona más legibilidad al código.
public static void main(String[] args) { Map<Integer, Point2D.Double> map = Map.of( 1, new Point2D.Double(1, 1), 2, new Point2D.Double(2, 2), 3, new Point2D.Double(3, 3), 4, new Point2D.Double(4, 4)); map.entrySet().forEach(System.out::println); }
fuente