HashMap 특징
- 키-값 쌍 저장: HashMap은 키와 값의 쌍을 저장하는데 사용됩니다. 각 키는 고유해야 하며, 키에 해당하는 값은 중복될 수 있습니다.
- Null 허용: HashMap은 키와 값에 null을 허용합니다. 즉, null 값을 가진 키나 값이 저장될 수 있습니다.
- 빠른 검색 속도: 해시 테이블을 기반으로 하기 때문에 키를 사용한 검색, 삽입, 삭제 연산이 평균적으로 O(1)의 시간 복잡도를 가집니다.
- 순서 보장 안됨: HashMap은 요소들의 순서를 보장하지 않습니다. 따라서 특정 순서로 요소에 접근하려면 LinkedHashMap과 같은 순서를 보장하는 자료구조를 사용해야 합니다.
HashMap<String, String> phoneMap = new HashMap<>();
-> HashMap 인스턴스 생성 후 여러 함수들을 보자.
요소 추가하는 함수 put()
phoneMap.put("model", "iPhone 13 mini");
phoneMap.put("year", "2021");
phoneMap.put("color", "black");
길이 구하는 함수 size()
int size = phoneMap.size();
System.out.println(size);
// 결과 : 3
요소(데이터) 억세스 하는 함수 get()
String data = phoneMap.get("model");
// 결과 : iPhone 13 mini
-> get() 함수 인자에 키에 해당하는 값을 넣으면 해당 키의 value값을 반환한다.
모든 요소 확인하려면 for문을 쓰면 된다.
for(int i=0; i<phoneMap.values().toArray().length; i++) {
System.out.println(phoneMap.values().toArray()[i]);
}
// 모든 요소 확인(for-each문)
for(Object value : phoneMap.values().toArray()){
System.out.println(value);
}
// 결과는 동일하게 black, 2021, iPhone 13 mini
-> hashmap.values().toArray() 하면 모든 value값이 나온다.
타입 확인(HaspMap 한정이 아니라 자바 전체 가능) 하는 함수 getClass().getName()
System.out.println(phoneMap.values().toArray().getClass().getName());
// 결과 : [Ljava.lang.Object;
요소 수정하는 함수 replace()
phoneMap.replace("color", "red");
-> key 값이 color인 요소의 value를 red로 수정
요소 제거하는 함수 remove()
phoneMap.remove("year");
-> key 값이 year인 요소를 삭제
모든 요소 제거하는 함수 clear()
phoneMap.clear();
HashMap의 요소가 비어 있는지 확인하는 함수 Empty()
System.out.println(phoneMap.isEmpty());
// 결과 : true
-> 반환 타입은 Boolean이다.
'Java' 카테고리의 다른 글
[Java] ArrayList의 여러 함수들 size(), add(), get(), set(), remove(), clear(), isEmpty() (0) | 2023.12.20 |
---|---|
[Java] 문자열의 크기를 비교하는 compareTo(), 문자열이 같은지 확인하는 equals() (0) | 2023.12.20 |
[Java] 특정 문자열의 위치 인덱스 알려주는 indexOf(), 문자열 포함 여부 알려주는 contains() (0) | 2023.12.20 |
[Java] 문자열의 모든 요소를 소문자, 대문자로 바꿔주는 toLowerCase(), toUpperCase() (0) | 2023.12.20 |
[Java] 문자열의 왼쪽 끝이나 오른쪽 끝에 있는 공백 제거하는 trim() (0) | 2023.12.20 |