본문 바로가기
학습

[Java] HashMap, TreeSet

by 공덕뉸나 2023. 10. 13.

이번에도 코딩테스트를 위해서 알고리즘 공부를 하다가 사용한 몇 가지들을 정리하고자 한다.

이번 강의에서는 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