13_04_map_hashmap_treemap

안녕하세요 MrChooCAI 입니다~

이번 포스트에서 collection famework는 아니지만 데이터를 효율적으로 다루는 자료구조인 map에 대해서 자세하게 알아보도록 하겠습니다.

실습 코드는 github을 통해서 공유 드리도록 하겠습니다.

Github: https://github.com/Chooyoungjun/javastudy/tree/main/14_04_map

Map

1.     Map

[의미]

키를 통해서 값을 참조할 수 있는 구조

[특징]

인터페이스 이기 때문에 upcasting 활용이 필요함

Map을 구현한 대표 클래스: HachMap, TreeMap

[메서드]

Key값과 value값을 가지고 있는 자료구조를 어떤 메서드를 가지고 있는지 어떻게 효율적으로 key값과 value값을 처리 할 것인지를 확인해 보도록 하겠습니다.


위의 메서드는 인터페이스로 구현된 메서드이기 때문에 클래스가 상속 받아서 다 구현을 해 줘야 합니다. 그래서 좀 더 자하세하기 알아보기 위해서 Map인터페이스를 상속 받은 HashMap클래스에 대해서 자세하게 알아보도록 하겠습니다.

2.     HashMap

[HashMap?]

KeyValue 값으로 데이터를 저장하는 형태를 말합니다.

[특징]

Map 인터페이스의 한 종류 입니다.

Map의 모든 속성을 갖고 있으며 저장 방식이 동일합니다.

해싱(Hashing)이라는 검색 알고리즘을 사용 합니다.(key값을 기반으로 value를 빨리 찾아내는 알고리즘)

Key의 중복은 허용하지 않지만 value의 중복은 가능 합니다.

[실습]

실습을 통해서 hashmap에 대해서 알아보도록 하겠습니다. 간단하게 영한 사잔을 만들어 보도록 하겠습니다.


위의 그림과 같이 값을 키와 value값으로 저장을 합니다. 그리고 위와 같이 불러오는 방식으로 사용 하는 것이 가능합니다.

이렇게 해서 map형태의 자료구조를 알아 보았습니다.

긴 글 읽어 주셔서 감사합니다.

Comments