728x90
1. 정의
key값을 기반으로 Value를 찾는 자료구조.
해시 함수를 통해 'key'와 'value'이 저장되는 위치를 결정하므로, 사용자는 그 위치를 알 수 없고, 삽입되는 순서와 들어 있는 위치 또한 관계가 없다.
참고로 value는 값이 고유하지 않아도 되기에 얼마든지 중복되어도 상관이 없다.
2. 선언
HashMap<String , String> contacts = new HashMap<String, String>();
3. 기본 메소드
1) 값을 넣고 싶을 때는 put 명령어.
ex) contacts.put("key 값", "value 값");
2) key 값으로, 값을 얻고 싶을 때는 get 명령어.
ex) contacts.get("key 값");
4. 기타 메소드
size() : 저장된 키의 총 갯수 출력
containsKey(K) : 해당 키가 있는지 알려줌
remove(K) : 해당 키와 일치하는 Entry 삭제
containsValue(V) : 해당 값이 있는지 알려줌
clear() : 내용 전체 삭제
isEmptry() ; 값이 비어있는지 확인
5. 왜 많이 사용될까?
평균 시간 복잡도가 O(1)이다. 키값이 배열의 인덱스로 변환되기 때문에 탐색,저장,삭제가 빠르다. 즉, 성능이 매우 좋다.
728x90
'JAVA > JAVA' 카테고리의 다른 글
Generics 지네릭스 - 와일드 카드 및 메소드 (2/2) (0) | 2023.01.02 |
---|---|
Generics 지네릭스 - 개념 및 활용 (1/2) (0) | 2023.01.02 |
int, long 타입과 같은 Primitive type null 값이 안 들어가는 이유 (0) | 2021.07.04 |
JAVA - 리스트와 ArrayList 차이점, 메소드 설명. (2) | 2021.06.28 |
mkdirs와 mkdir 차이점 (0) | 2021.05.07 |