본문 바로가기
개발/JAVA

Java hashmap과 map의 차이

by 외노자개발 2022. 12. 5.
반응형

hashmap 정의에 대해서는 아래의 url참조

 

Java Map과 HashMap 차이


Java 에서는, Map키와 값의 페어로 데이터를 포함하기 위해서 사용되는 인터페이스입니다만, HashMap인터페이스 Map의 구현 클래스입니다. 

 Java 에는, 데이터를 키와 값의 페어에 격납하기 위한 Map인터페이스를 구현하는 몇개의 클래스 ( TreeHashMap, LinkedHashMap)가 있습니다. 

 

Java Map인터페이스


Map인터페이스만을 사용해 데이터를 보관 유지할 수 없지만, 그 구현 클래스의 오브젝트를 작성하고 나서, Map참조를 사용해 오브젝트를 보관 유지할 수 있습니다. 여기에서는 HashMap클래스를 사용하여 데이터를 저장하고 Map인터페이스를 사용하여이 클래스에 대한 참조를 유지합니다. 

 

import java.util.HashMap;
import java.util.Map;

public class SimpleTesting{ 
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("One", 1);
        map.put("Two", 2);
        map.put("Three", 3);
        System.out.println(map);
    }
}

결과

{One=1, Two=2, Three=3}

 

 

 

Java HashMap클래스


HashMap는 Map인터페이스의 구현 클래스입니다. 따라서 이를 사용하여 키-값 쌍의 모음을 만들 수 있습니다. 

import java.util.HashMap;

public class SimpleTesting{ 
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("One", 1);
        map.put("Two", 2);
        map.put("Three", 3);
        System.out.println(map);
    }
}

결과

{One=1, Two=2, Three=3}

 

 

Java에서 객체를 유지하기 위해 Map참조 사용


Map는 인터페이스이므로 HashMap, TreeMap등의 구현 클래스에 대한 참조를 유지하는 데 사용할 수 있습니다. TreeMap또는 HashMap객체를 Map인터페이스에 유지할 수 있습니다. 

import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;

public class SimpleTesting{ 
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("One", 1);
        map.put("Two", 2);
        map.put("Three", 3);
        System.out.println(map);
        Map<String, Integer> tmap = new TreeMap<>(map);
        System.out.println(tmap);
    }
}

결과

{One=1, Two=2, Three=3}
{One=1, Three=3, Two=2}
반응형

댓글