Java
Map<K, V>는 데이터를 Key와 Value의 쌍으로 연결지어서 저장하는 객체다.
Key와 Value의 쌍을 표현하는 객체는 Entry<K, V>다.
Map<K, V>객체는 Entry<K, V>객체를 여러 개 저장하는 객체다.
Key는 값을 대표하는 값이다. Key는 중복될 수 없다. Key의 타입은 보통 String, Inger, Long 타입이 주로 사용된다.
Value는 실제로 Map에 저장할 정보를 가지고 있는 객체다. 보통 ValueObject가 Vaule의 타입으로 주로 사용된다.
구현클래스
Key와 Value의 예
Key | Value | Map<K, V> |
---|---|---|
학번 | 학생객체 | Map<Integer, Student> |
주문번호 | 주문정보객체 | Map<Long, Order> |
사용자아이디 | 사용자정보객체 | Map<String, User> |
상품번호 | 상품정보객체 | Map<Integer, Product> |
주요 메소드
주요 구현 클래스
HashMap<K, V> 사용하기
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<Integer, String>();
// HashMap객체에 Key, Value의 쌍으로 데이터 저장하기
map.put(100, "김유신");
map.put(200, "강감찬");
map.put(300, "이순신");
map.put(400, "류관순");
// HashMap객체에 저장된 데이터를 key를 이용해서 조회하기
String value1 = map.get(100); // 김유신이 조회됨
String value2 = map.get(300); // 이순신이 조회됨
String value3 = map.get(500); // null이 반환됨
// HashMap객체에 지정된 Key값이 존재하는지 확인하기
boolean result1 = map.containsKey(300); // true가 반환됨
// HashMap객체에 저장된 Key, Value 쌍의 갯수를 조회하기
int count = map.size(); // 4가 조회됨
// HashMap객체에서 지정된 Key값으로 저장된 데이터를 삭제하기
map.remove(200); // 200, "강감찬"의 key, Value쌍의 데이터가 삭제됨
// HashMap객체가 비어있는지 확인하기
boolean result2 = map.isEmpty(); // false가 반환됨
// HashMap객체에 저장된 모든 Entry객체를 조회하기
Set<Entry<Integer, String>> entries = map.entrySet();
for (Entry<Integer, String> entry : entries) {
int key = entry.getKey(); // key값이 반환됨
String value = entry.getValue(); // value값이 반환됨
System.out.println(key + " : " + value);
}
}