[java] 자바로지도 만들기

다음 map으로 구성된 항목을 포함 하는을 만들고 싶습니다.(int, Point2D)

Java에서 어떻게 할 수 있습니까?

다음을 실패했습니다.

HashMap hm = new HashMap();

hm.put(1, new Point2D.Double(50, 50));



답변

Map <Integer, Point2D.Double> hm = new HashMap<Integer, Point2D>();
hm.put(1, new Point2D.Double(50, 50));


답변

초기화와 함께지도를 만드는 더 좋은 방법이 있습니다.

Map<String, String> rightHereMap = new HashMap<String, String>()
{
    {
        put("key1", "value1");
        put("key2", "value2");
    }
};

더 많은 옵션을 보려면 여기를 참조하십시오 . 정적 맵을 어떻게 초기화 할 수 있습니까?


답변

자바 9

public static void main(String[] args) {
    Map<Integer,String> map = Map.ofEntries(entry(1,"A"), entry(2,"B"), entry(3,"C"));
}


답변

Map<Integer, Point2D> hm = new HashMap<Integer, Point2D>();


답변

저는 Java 9 덕분에 이러한 종류의 Map 모집단을 사용합니다. 제 솔직한 의견으로는이 접근 방식이 코드에 더 많은 가독성을 제공합니다.

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


답변