이번에도 코딩테스트를 위해서 알고리즘 공부를 하다가 사용한 몇 가지들을 정리하고자 한다.
이번 강의에서는 HashMap과 TreeSet을 사용하여 코드를 구현했다.
HashMap은 그래도 종종 사용해왔었는데 TreeSet은 사용해 본 경험이 별로 없는 것 같다.
1. HashMap
HashMap이란 Key와 Value가 짝을 이루어 데이터를 저장하는 것이다.
key 값으로 데이터의 저장위치를 결정하고, 이를 통해 특정 데이터의 저장위치를 해시함수를 통해 알 수 있기 때문에 데이터의 추가, 삭제, 검색이 빠르다.
- 메서드
1) 데이터 추가
- put(key, value) : key와 value 저장
만약 입력되는 key 값이 HashMap 내부에 존재한다면 기존의 값은 새로운 값으로 대체된다.
2) 데이터 삭제
- remove(key) : 특정 key값 삭제 / 특정 key의 value return
- clear() : 모든 값 삭제
3) 데이터 출력
- get(x) : key값 x의 value값 추출
- keySet() : 존재하는 key 탐색
4) 기타
- containsKey(key값) : HashMap에 key의 존재여부에 따라 true/false 값 return
- size() : key의 개수 반환
- map1.equals(map2) : 두 개의 HashMap 비교
2.TreeSet
TreeSet은 객체를 중복해서 저장할 수 없고 정렬을 지원한다.
- 메서드
1) 데이터 추가
- add(value) : TreeSet에 값을 추가
2) 데이터 삭제
- remove(특정 값) : 특정 값 삭제
- clear() : 모든 값 삭제
3) 기타
- size() : TreeSet의 크기 추출
- TreeSet 생성
TreeSet<Integer> treeSet = new TreeSet<>(Collections.reverseOrder());
Collections.reverseOrder() : 내림차순 정렬
default는 오름차순이다.
- first() : 오름차순일 경우 최소값, 내림차순일 경우 최대값 추출
- last() : 오름차순일 경우 최대값, 내림차순일 경우 최소값 추출
코딩테스트를 공부하면서 학습했던 내용인데도 기억 안나는 것들을 발견하게 되는 것 같다.
하나씩 차근차근 다시 익히고 정리하도록 해야겠다. 망망!
'학습' 카테고리의 다른 글
[Java] Arrays 클래스 (0) | 2023.10.17 |
---|---|
[Java] Stack & Queue (0) | 2023.10.16 |
[Java] 문법 (0) | 2023.10.10 |
코딩테스트 준비하기 (1) | 2023.10.06 |
ChatGPT 사용하기 (0) | 2023.09.20 |