ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java]해시맵(HashMap)
    Algorithm/자료구조 for Algorithm 2021. 2. 13. 18:46

    *Java Collections : 맵(Map) 인터페이스

    ->모든 데이터를 '키(Key)'와 '값(Value)'의 '한 쌍(Pair)의 형태'로 연관지어 저장한다.

    ->키(Key)는 중복을 허용하지 않고, 값(Value)은 중복을 허용한다.

    ->순서는 중요하지 않다 : 순서가 없다.

     

    *해시맵(HashMap) 클래스

    ->맵 인터페이스를 구현한 자바의 대표적인 Collections 클래스.

    ->해시(Hash)를 사용하기 때문에 검색이 빠르다(리스트에서 검색하는 속도보다 빠르다).

    ->키(Key)와 값(Value)을 저장하기 때문에, HashMap<Key, Value>의 형태로 선언한다.

    HashMap<Integer, String> hm = new HashMap<Integer, String>();

    ->기본적으로 삽입은 put, 삭제는 remove, 조회는 여러가지 방법으로 할 수 있다. 아래 API를 참고하자.

    출처 : https://docs.oracle.com/javase/7/docs/api/

    import java.util.HashMap;
    import java.util.Map.Entry;
    
    public class test {
    	public static void main(String[] args) {
    		// 해시맵 선언
    		HashMap<Integer, String> hm = new HashMap<Integer, String>();
    		
    		// 키, 값을 각각 추가한다.
    		hm.put(1, "kim");
    		hm.put(2, "lee");
    		hm.put(3, "park");
    		// 키는 중복될 수 없다. 따라서 3번 키는 hong으로 갱신될 것이다.
    		hm.put(3, "hong");
    		
    		// 키를 기준으로 해당 데이터를 삭제할 수 있다.
    		hm.remove(1);
    		
    		// 해시맵 전체 출력
    		System.out.println(hm);
    		// 해시맵의 키 전체 출력
    		System.out.println(hm.keySet());
    		// 해시맵의 값 전체 출력
    		System.out.println(hm.values());
    		
    		// 반복을 이용하여 키와 그에 대응하는 값을 가져오는 코드
    		for(Entry<Integer, String> h : hm.entrySet()) {
    			System.out.println(h);
    		}
    	}
    }
    

     

     

    'Algorithm > 자료구조 for Algorithm' 카테고리의 다른 글

    [Java]우선순위큐(PriorityQueue)  (0) 2022.03.22
    [Java]서로소 집합(Disjoint Set)(Union-Find)(Merge-Find Set)  (0) 2021.04.15
    [Java]덱(Deque)  (0) 2021.02.18
    [Java]큐(Queue)  (0) 2020.09.25
    [Java]스택(Stack)  (0) 2020.09.25

    댓글

Designed by Tistory.