Map
- 파이썬 딕셔너리와 같이 key값과 value값을 쌍으로 저장하는 자료형이다
- key를 통해 value값을 구한다
종류
1.HashMap
- 순서를 보장하지 않고 데이터를 출력할 때 무작위로 출력된다
- 내부적으로 Entry 배열을 만든다
- Hashcode를 사용하기 때문에 빠른 탐색시간을 갖는다
- key와 value값에 null을 허용한다
2.TreeMap
- RedBlack Tree형식으로 구성되어있다
- key값에 따라 정렬되어 자료가 출력된다
- Comparator 인터페이스를 통해 정렬순서를 조절할 수 있다
- value값에만 null을 허용한다
3.LinkedHashMap
- 입력된 순서를 기억하고 그 순서대로 자료가 출력된다
- 내부에 같은 key값을 가지고 있다면 중복을 허용하지 않고 value값이 update된다
- key와 value값에 null을 허용한다
Map의 메소드
- 선언방식
HashMap<string, Integer> a = new HashMap<>();
- put() - 값을 넣을 때
a.put("Lee":22);
a.put("IM":22);
- get() - key에 해당하는 value값을 찾을 때
a.get("Lee");
- size() - 개수 리턴
a.size();
//2
- containsKey() - key값의 존재여부 확인
a.containsKey("LEE");
//true
a.containsKey("KIM");
//false
- KeySet - Map의 모든 key값들을 출력함. 단 출력시 set 자료형으로 return함
map.KeySet();
//Lee, IM출력
//HashMap일때는 순서가 무작위로 출력됨
- remove() - key값과 value값을 삭제한 후 key에 해당하는 value값을 출력한다
a.remove("LEE");
//"LEE"와 22삭제후 22를 출력함
'JAVA' 카테고리의 다른 글
JAVA(2022.06.16) - Set 으로 집합 구현하기 (0) | 2022.06.16 |
---|---|
JAVA(2022.06.15) - Set (0) | 2022.06.15 |
JAVA(2022.06.13) - Casting(형변환) (0) | 2022.06.13 |
JAVA(2022.06.12) - LinkedList의 Node (0) | 2022.06.12 |
JAVA(2022.06.11) - LinkedList (0) | 2022.06.11 |