열심히 살아나갈 사람
728x90

Java에서 해시(Hash)는 주로 데이터의 저장 및 검색 속도를 향상시키는 용도로 활용됩니다. 해시 함수를 통해 데이터를 특정 위치에 빠르게 저장하고 검색할 수 있습니다.

해시를 활용하는 대표적인 클래스로는 HashMap, HashSet 등이 있습니다.

HashMap:

HashMap은 키와 값의 쌍을 저장하는 Map 인터페이스의 구현체입니다. 키는 해시 함수를 통해 특정 위치에 저장되며, 이를 통해 키에 해당하는 값을 빠르게 찾을 수 있습니다.

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> hashMap = new HashMap<>();
        hashMap.put("apple", 3);
        hashMap.put("banana", 2);
        hashMap.put("cherry", 1);

        System.out.println(hashMap);  // 출력: {apple=3, banana=2, cherry=1}
    }
}

HashSet:

HashSet은 중복된 값을 허용하지 않는 Set 인터페이스의 구현체입니다. 내부적으로 HashMap을 사용하여 원소를 저장하므로, 원소의 추가, 삭제, 검색 등의 연산을 평균적으로 상수 시간에 할 수 있습니다.

import java.util.HashSet;

public class Main {
    public static void main(String[] args) {
        HashSet<Integer> hashSet = new HashSet<>();
        hashSet.add(3);
        hashSet.add(1);
        hashSet.add(2);
        hashSet.add(1);

        System.out.println(hashSet);  // 출력: [1, 2, 3]
    }
}

이 외에도, 해시는 캐시 구현, 문자열 처리 등 다양한 문제에서 활용됩니다. 해시 함수를 통해 데이터를 특정 범위 내의 정수로 변환하여 사용하는 특성 때문에, 데이터의 분포가 균일하게 이루어지는 경우 빠른 연산 속도를 보장할 수 있습니다.

728x90
profile

열심히 살아나갈 사람

@쿼리_

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!