해시맵과 해시셋은 자바에서 해시 함수를 사용하여 데이터를 저장하고 검색하는 해시 기반 데이터 구조
키-값 쌍을 저장하는 컬렉션 클래스
각 키가 고유한 값에 매핑되는 키를 기반으로 데이터를 저장하고 검색
해시 코드를 사용하여 데이터를 인덱싱하므로 대부분의 작업에 대해 일정한 시간 성능을 제공
키가 해시맵에 추가되면 해시 코드가 계산되어 데이터를 인덱싱
동일한 해시 코드(충돌이라고 함)를 가진 키가 여러 개 있으면 인덱스된 위치의 링크된 목록에 저장
고유한 요소를 저장하는 컬렉션 클래스
중복 요소를 허용하지 않으며 각 요소는 해시 코드를 기반으로 저장
요소가 HashSet에 추가되면 해당 요소의 해시 코드가 계산되어 내부 데이터 구조에서 해당 요소의 위치를 결정
동일한 해시 코드를 가진 요소가 여러 개 있으면 인덱스된 위치의 연결된 목록에 저장
요소의 존재를 추가, 제거 및 테스트하는 방법을 제공
import java.util.HashMap;
public class ExampleHashMap {
public static void main(String[] args) {
// create a HashMap to store String keys and values
HashMap<String, String> map = new HashMap<>();
// add some key-value pairs to the map
map.put("apple", "red");
map.put("banana", "yellow");
map.put("grape", "purple");
// retrieve the value associated with a key
String color = map.get("apple");
System.out.println("The color of an apple is " + color);
// remove a key-value pair from the map
map.remove("banana");
// print all keys and values in the map
for (String key : map.keySet()) {
String value = map.get(key);
System.out.println(key + " is " + value);
}
}
}
출력
The color of an apple is red
apple is red
grape is purple
import java.util.HashSet;
public class ExampleHashSet {
public static void main(String[] args) {
// create a HashSet to store String elements
HashSet<String> set = new HashSet<>();
// add some elements to the set
set.add("apple");
set.add("banana");
set.add("grape");
// check if an element is in the set
boolean containsApple = set.contains("apple");
boolean containsOrange = set.contains("orange");
System.out.println("The set contains an apple: " + containsApple);
System.out.println("The set contains an orange: " + containsOrange);
// remove an element from the set
set.remove("banana");
// print all elements in the set
for (String element : set) {
System.out.println(element);
}
}
}
출력
The set contains an apple: true
The set contains an orange: false
apple
grape