-
[Java]해시맵(HashMap)Algorithm/자료구조 for Algorithm 2021. 2. 13. 18:46
*Java Collections : 맵(Map) 인터페이스
->모든 데이터를 '키(Key)'와 '값(Value)'의 '한 쌍(Pair)의 형태'로 연관지어 저장한다.
->키(Key)는 중복을 허용하지 않고, 값(Value)은 중복을 허용한다.
->순서는 중요하지 않다 : 순서가 없다.
*해시맵(HashMap) 클래스
->맵 인터페이스를 구현한 자바의 대표적인 Collections 클래스.
->해시(Hash)를 사용하기 때문에 검색이 빠르다(리스트에서 검색하는 속도보다 빠르다).
->키(Key)와 값(Value)을 저장하기 때문에, HashMap<Key, Value>의 형태로 선언한다.
HashMap<Integer, String> hm = new HashMap<Integer, String>();
->기본적으로 삽입은 put, 삭제는 remove, 조회는 여러가지 방법으로 할 수 있다. 아래 API를 참고하자.
출처 : https://docs.oracle.com/javase/7/docs/api/ import java.util.HashMap; import java.util.Map.Entry; public class test { public static void main(String[] args) { // 해시맵 선언 HashMap<Integer, String> hm = new HashMap<Integer, String>(); // 키, 값을 각각 추가한다. hm.put(1, "kim"); hm.put(2, "lee"); hm.put(3, "park"); // 키는 중복될 수 없다. 따라서 3번 키는 hong으로 갱신될 것이다. hm.put(3, "hong"); // 키를 기준으로 해당 데이터를 삭제할 수 있다. hm.remove(1); // 해시맵 전체 출력 System.out.println(hm); // 해시맵의 키 전체 출력 System.out.println(hm.keySet()); // 해시맵의 값 전체 출력 System.out.println(hm.values()); // 반복을 이용하여 키와 그에 대응하는 값을 가져오는 코드 for(Entry<Integer, String> h : hm.entrySet()) { System.out.println(h); } } }
'Algorithm > 자료구조 for Algorithm' 카테고리의 다른 글
[Java]우선순위큐(PriorityQueue) (0) 2022.03.22 [Java]서로소 집합(Disjoint Set)(Union-Find)(Merge-Find Set) (0) 2021.04.15 [Java]덱(Deque) (0) 2021.02.18 [Java]큐(Queue) (0) 2020.09.25 [Java]스택(Stack) (0) 2020.09.25