알고리즘 풀이 후 다른 사람의 풀이를 보던 중 HashMap을 활용한 방법이 있어서 찾아보았다.
HashMap
ㅡ Map 인터페이스를 구현(implements)하고 있는 클래스
ㅡ 키(key), 값(value)로 구성
ㅡ Java Collections Framework에 속한 구현체
개념은 간단하게 이 정도에 key에 value를 저장해놓고 데이터를 사용하는 식인 것 같다.
장점으로는 데이터를 저장해 놓고 쓰기에 속도는 매우 빠르다고 한다.
★ key는 고유 속성으로 중복이 불가능
★ value는 고유 속성이 아니라 중복 가능
HashMap 선언
HashMap<key 데이터 타입, value 데이터 타입> 참조 변수명 = new HashMap<>() // 이외에도 여러 선언 형태가 있긴하다.
HashMap<Integer,Integer> hm = new HashMap<>(); // int형 키, int형 밸류
key, value 저장
hm.put(1, 111); // key 1에 값 111 저장
hm.put(2, 222); // key 2에 값 222 저장
* 기존에 있던 key에 새로운 값을 저장하면 덮어쓰기 된다.
key 삭제
hm.remove(1); // key 1삭제
HashMap 크기
hm.size(); // key 갯수 출력
HashMap 출력
System.out.println(hm); // HashMap 모든 키, 밸류 출력
System.out.println(hm.get(2)); // 키 2에 있는 밸류 출력
System.out.println(hm.get("A")); // 키 A에 있는 밸류 출력
for(Map.Entry<Integer, Integer> i : hm.entrySet()) // entrySet()으로 반복문 형태로 모든 키, 밸류 활용 가능
System.out.println(i.getKey() +" / " +i.getValue());
HashMap의 주요 메소드
이미지 출처 : https://moonong.tistory.com/5 이외 다른 메소드도 더 있다.
'Java' 카테고리의 다른 글
추상 클래스 ( Abstract Class ) / 인터페이스 ( Interface ) (0) | 2023.01.10 |
---|---|
다형성 ( Polymorphism ) (0) | 2023.01.10 |
상속 ( Inheritance ) / 오버라이딩 ( Overriding ) (0) | 2023.01.09 |
생성자 ( Constructor ) / this (0) | 2023.01.06 |
오버로딩 ( Overloading ) (0) | 2023.01.06 |
댓글