2020. 8. 5. 11:32ㆍ개발공부/Java
#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 |