(11) 자료형 구조 [Map]

2020. 8. 5. 11:32개발공부/Java

728x90

#08/05/20

백준 알고리즘 1620. 포켓몬 마스터를 풀다가 자꾸 시간초과 에러가 뜨길래 해결방법을 찾아봤다.
자료형 구조 중에 Map이란 게 있었는데 표적탐색이 가능해 sequential 하지 않은 탐색을 쓸 때
시간을 단축시킬 수 있다.

1. Map

 - 사전과 비슷해서 key, value를 가지는 자료형

 - (people, 사람), (baseball, 야구) (key, value)

 - 배열과 리스트랑 달리 sequential 요소 값이 아닌
   key를 통해 value를 얻는다. 

 - baseball이란 단어의 뜻을 찾기 위해서 사전의 내용을 순차적으로
   탐색하는 것이 아니라 있는 곳만을 펼쳐봄
     > 탐색에 들이는 시간이 단축됨

1) HashMap

 - Map 중 가장 간단한 HashMap

 - 자료 입출력 방법:
  > (객체화 선언) HashMap<String, Integer> map = new HashMap<String, Integer>();
  > (입력) map.put(1, "people")
  > (출력) map.get(1)
 

 - 메소드:
  > containsKey: 맵에 key가 있는지를 조사해서 결과값을 boolean으로 리턴
  > remove: 맵에 있는 key, value를 삭제한 뒤 value를 리턴
  > size: 맵의 갯수를 리턴

 2) LinkedHashMap, TreeMap

 - 순차적으로 데이터를 가져오거나 sort된 데이터가 필요할 경우 사용
  > List 같은 Map을 원할 때?

 - LinkedHashMap은 입력된 순서대로 데이터가 출력되는 특징

 - TreeMap은 입력된 sort순으로 데이터가 출력되는 특징

 참고사이트: 점프 투 자바

'개발공부 > Java' 카테고리의 다른 글

(13) UTC, LocalDateTime, TimeStamp  (0) 2021.03.12
(12) Hibernate?  (0) 2021.03.12
(10) List(ArrayList)  (0) 2020.07.13
(9) 성적 조회 시스템 만들기(List)  (0) 2020.07.13
(8) 로또 시뮬레이터 예제  (0) 2020.07.10