Map
맵은 효율성면에서 굉장히 좋은 컬렉션이라고 생각한다.
키(key)와 값(value)를 한쌍(pair)으로 저장하고 있다. 키는 중복될 수 없고, 값은 중복이 허용된다. 만약 Map에 (1,3) 이 저장되고 (1,4)가 저장되면 나중에 들어온 (1,4)로 덮여쓰여진다.
void clear() // Map의 모든 객체를 삭제한다.
boolean containsKey(Object key) // key객체와 일치하는 Map의 key 객체가 있으면 true 없으면 false를 리턴한다.
boolean containsValue(Object value) // value값이 있으면 true, 없으면 false를 리턴한다.
Set entrySet() // Map에 저장된 key-value쌍을 Map.Entry타입의 객체로 저장한 Set으로 반환한다.
boolean equals(Object o) // o가 동일한 Map인지 비교한다.
Object get(Object key) // key객체에 대응하는 value를 리턴한다.
int hashCode() // 해시코드를 반환한다.
boolean isEmpty() // Map이 비어있는지 확인한다.
Set keySet() // Map에 저장된 모든 key객체를 반환한다.
Object put(Object key, Object value) // Map에 key와 value객체를 연결(mapping)하여 저장한다.
void putAll(Map t) // Map t의 모든 key-value쌍을 추가한다.
Object remove(Object key) // 지정된 key와 일치하는 key-value쌍을 삭제한다.
int size() // Map에 저장된 key-value 쌍의 개수를 반환한다.
Collection vlaues() // Map에 저장된 모든 value객체를 반환한다.
Map인터페이스에서 값(value)은 중복을 허용하기 때문에 value()는 Collection타입으로 반환하고, 키(key)는 중복을 허용하지 않기 때문에 keySet()은 Set타입으로 반환한다.
Iterator
Map은 키(key)와 값(value)을 쌍(pair)로 저장하기 떄문에 iterator()를 직접 호출할 수 없다. 그래서 keySet()이나 entrySet()과 같은 메서드를 통해 키와 값을 각각 따로 Set의 형태로 얻어 온 후 다시 iterator()를 호출해야 한다.
Map map = new HashMap();
...
Iterator it = map.entrySet().iterator(); // 이 코드는 아래 코드와 같다.
// Set set = map.entrySet();
// Iterator it = set.iterator();
'자바' 카테고리의 다른 글
[자바] JVM 메모리 구조 (1) | 2023.01.29 |
---|---|
[자바] Tree Set 개념 및 활용 (0) | 2023.01.28 |
[자바] Iterator, ListIterator 개념 및 사용법 (0) | 2023.01.28 |
[자바] static 메모리 (0) | 2023.01.20 |
[자바] 기본형 매개변수와 참조형 매개변수 (객체지향) (0) | 2023.01.19 |