본문 바로가기
프로그래밍/Java

[Java | 자바] Collection이란?(3) - Map 인터페이스

by 불타는홍당무 2015. 2. 21.

* 본 내용은 <자바의 신>을 참고하여 작성하였습니다.



Map 인터페이스


Map은 키(Key)와 값(value)으로 이루어져 있다. 


* Map의 주요 특징

- 모든 데이터는 키와 값이 존재한다.

- 키가 없이 값만 저장할 수 는 없다.

- 값이 없이 키만 저장할 수도 없다.

- 키는 해당 Map에서 고유해야만 한다.

- 값은 Map에서 중복되어도 전혀 상관 없다.

- 데이터 추가 순서는 중요하지 않다(데이터를 저장한 순서대로 결과가 출력되지 않는다).


*Map 인터페이스에 선언되어 있는 주요 메소드


*Map 인터페이스와 Hashtable 클래스의 차이



1. HashMap


선언 및 생성


대부분 HashMap 객체를 생성할 때에는 매개 변수가 없는 생성자를 사용한다. 하지만 HashMap에 담을 데이터의 개수가 많은 경우에는 초기 크기를 지정해주는 것을 권장한다.


HashMap<String,String> map=new HashMap<String,String>();



(1) 데이터 추가



(2) 데이터 확인


HashMap에 어떤 키가 있는지를 확인하기 위해서는 keySet()이라는 메소드를 사용한다. 리턴타입은 Set이고, Set의 제네릭 타입은 "키"의 제네릭 타입과 동일하게 지정해 준다.


 containsKey()와 containsValue() 메소드는 각각 매개 변수로 넘긴 키나 값이 존재하는지를 확인하여 boolean 타입의 결과를 제공한다. 있으면 true를, 없으면 false를 리턴한다.



(3) 데이터 삭제



2. TreeMap


TreeMap 클래스는 키와 값을 저장하는 동시에 키를 정렬한다. 정렬되는 순서는 숫자 > 알파벳 대문자 > 알파벳 소문자 > 한글 순이다. 따라서, 정렬을 해야 할 필요가 있다면 HashMap 보다는 TreeMap을 사용하는 것이 더 유리하다.


*TreeMap에 선언되어 있는 추가적 메소드



(1) 데이터 저장 및 확인