본문 바로가기

JAVA

JAVA(2022.06.14) - Map

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