자료구조 - HashMap

공부한것 다 기록해·2023년 6월 17일
0

HashMap

  • Map의 특징, 키(key)와 값(value)을 묶어서 하나의 데이터(entry)로 저장
  • 해싱(hashing)을 사용해 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능

키(key) 컬렉션 내의 키(key) 중에서 유일해야 한다.
값(value) 키(key)와 달리 데이터의 중복을 허용한다.

Hashing

해시함수(Hash function)을 이용해서 데이터를 해시테이블(Hash table)에 저장하고 검색하는 기법

Hash Function

  • 해시 함수는 임이의 길이를 갖는 메시지를 입력받아 고정된 길이의 해시값을 출력하는 함수
  • 데이터가 저장되어 있는 곳을 알려 주기 때문에 다량의 데이터 중에서도 원하는 데이터를 빠르게 찾음

해시값 : 임의의 길이를 갖는 데이터를 해시함수에 적용하여 나온 고정된 길이의 값


출처 : https://upbitcare.com/academy/education/blockchain/52

사용

public static void main(String[] args) {
        HashMap<Integer, Integer> map1 = new HashMap<Integer,Integer>();
        HashMap<Integer, Integer> map2 = new HashMap<>(); // new 타입 파라미터 생략
        HashMap<Integer, Integer> map3 = new HashMap<>(10); // 초기 용량 생성

        HashMap<Integer, String> hi = new HashMap<Integer, String>();

        // 값 추가
        hi.put(1,"One");
        hi.put(2,"Two");
        hi.put(3,"Three");
        hi.put(4,"Four");

        System.out.println(hi);
        System.out.println(hi.size()); // 크기 구하기
        System.out.println(hi.containsKey(1)); // 키 포함 여부
        System.out.println(map1.equals(map2)); // 두 map의 mapping 상태 비교
        // 값 삭제
        hi.remove(1); // key값이 1인 값 삭제
        System.out.println(hi);
        hi.clear(); // 모든 값 제거
        System.out.println(hi);
    }

출력결과

{1=One, 2=Two, 3=Three, 4=Four}
4
true
true
{2=Two, 3=Three, 4=Four}
{}

0개의 댓글