HashMap이란 Key와 Value를 묶어 하나의 entry 로 저장한다는 특징을 갖고 있습니다. 그리고 hashing을 사용하기 때문에 많은 양의 데이터를 검색하는데 뛰어난 성능이 장점입니다.
- Map 인터페이스의 한 종류로 (Key, value)로 이루어져 있습니다.
- Key 값은 중복이 불가능하고, Value는 중복과 null값이 가능합니다.
- 멀티쓰레드에서는 HashTable을 씁니다.
HashMap 생성자/메소드
생성자/메소드 |
설명 |
HashMap() |
: HashMap객체 생성 ex) HashMap<E,E> hm = new HashMap<>(); or Map<E,E> map = new HashMap<>(); |
HashMap(int initialCapacity) |
: 지정된 값을 초기 용량으로 하는 HashMap객체 생성 |
HashMap(int initialCapacity, float loadFactory) |
: 지정된 값을 초기용량과 load factory의 HashMap객체를 생성한다. |
HashMap(Map m) |
: 주어진 Map에 저장된 모든 요소를 포함하는 HashMap을 생성한다. |
void clear() |
: HashMap에 저장된 모든 객체를 제거한다. ex) map.clear(); |
Object clone() |
: 현재 HashMap을 복제하여 반환한다. ex) new map = (HashMap)map.clone(); |
boolean containsKey(Object Key) |
: HashMap에 지정된 키가 포함되어 있는지 알려준다. |
boolean containsValue(Object Value) |
: HashMap에 지정된 값이 있는지 알려준다. |
Set entrySet() |
: HashMap에 저장된 Key-Value값을 엔트리(키와 값을 결합)의 형태로 Set에 저장하여 반환함. ex) map.put("a", 1); map.put("b", 2); map.put("c", 3); Set set = map.entrySet(); System.out.println("set values are" + set); (result) set values: [a=1, b=2, c=3] |
Object get(Object Key) |
: 지정된 Key의 값을 받는다. |
boolean isEmpty |
: HashMap이 비어있는지 확인한다. |
Set keySet() |
: HashMap에 저장된 모든 키가 저장된 Set를 반환한다. ex) map.put("a", 1); map.put("b", 2); map.put("c", 3); Set keyset = map.keySet(); System.out.println("Key set values are" + keyset); (result) Key set values are [A,B,C] |
void putAll(Map m) |
: Map에 해당하는 모든 요소를 HashMap에 저장한다. |
Object remove(Object Key) |
: HashMap에서 지정된 키로 지정된 값을 제거한다. ex) map.remove(key); |
int size() |
: HashMap에 저장된 요소의 개수를 반환한다. |
Collection values() | : HashMap에 저장된 모든 값을 컬렉션 형태로 반환한다. |
HashMap 전체 조회
Set<E> set = hm.entrySet(); // HashMap에 넣은 Key와 Value를 Set에 넣고 iterator에 값으로 Set정보를 담에 준다.
Iterator<E> itr = set.iterator(); //Iterator itr = hm.entrySet().iterator(); 와 같다.
while (itr.hasNext())
{
Map.Entry<E> e = (Map.Entry<E>)itr.next();
//e.getKey() or e.getValue() 통한 키와 값 가져오기
}
}
'프로그래밍 언어 > JAVA 공부' 카테고리의 다른 글
JAVA string 관련 메소드 (0) | 2019.09.25 |
---|---|
Java Priority Queue 사용하기 - Comparable interface (0) | 2019.04.06 |
java 자료구조 (0) | 2019.03.07 |
JAVA input 처리(Scanner, String) (0) | 2019.03.07 |