T.I.L #23 HashSet , HashMap

개발자지망생·2023년 11월 3일
0

HashSet , HashMap이란?

자바에서 HashSet과 HashMap은 데이터 구조를 구현하는 데 사용되는 중요한 컬렉션 클래스이다. 이들은 각각 집합(Set)과 맵(Map)의 개념을 구현하며, 데이터를 저장하고 관리하는 데 도움을 준다.

HashSet

HashSet은 집합(Set)의 개념을 구현하는 컬렉션 클래스이다. 집합은 중복된 원소가 없고, 원소들이 순서를 가지지 않는 특징을 가진다. HashSet은 이러한 특성을 따르며, 다음과 같은 중요한 특징이 있다.

  • 중복된 원소를 허용하지 않는다.
  • 원소들은 순서 없이 저장되며, 인덱스로 접근할 수 없다.
  • 빠른 검색 속도를 제공한다.

HashSet을 사용하여 데이터를 추가하려면 add() 메서드를 사용하고, 데이터를 삭제하려면 remove() 메서드를 사용한다.

HashSet<String> set = new HashSet<>();

set.add("apple");
set.add("banana");
set.add("cherry");

set.remove("banana");

HashMap

HashMap은 키-값(Key-value) 쌍을 저장하는 맵(Map) 컬렉션 클래스이다. 각 키는 고유해야 하며, 각 키에 대응하는 값에 접근할 수 있다. HashMap의 중요한 특징은 다음과 같다.

  • 키-값 쌍을 저장하며, 중복된 키는 허용되지 않는다.
  • 키를 사용하여 값에 접근할 수 있으며, 빠른 검색 속도를 제공한다.
  • 순서가 없다.

HashMap을 사용하여 데이터를 추가하려면 put() 메서드를 사용하고, 데이터를 가져오려면 get() 메서드를 사용한다.

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

map.put("apple", 10);
map.put("banana", 5);
map.put("cherry", 15);

int quantity = map.get("banana"); // quantity에는 5가 저장됨

HashSet , HashMap은 어디에 쓰일까?

HashSet 쓰임

  1. 중복 데이터 제거
  • HashSet은 중복된 원소를 허용하지 않으므로, 중복 데이터를 제거하는 데 사용된다.
  1. 멤버십 검사
  • 특정 원소가 집합에 속하는지 확인하려면 contains() 메서드를 사용한다.
  1. 빠른 데이터 검색
  • 데이터를 빠르게 검색하려면 HashSet을 사용하여 데이터를 저장하고 원하는 우너소를 검색한다.
HashSet<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Charlie");

boolean containsAlice = uniqueNames.contains("Alice"); // true

HashMap 쓰임

  1. 키-값 저장
  • HashMap은 키와 값의 매핑을 저장하므로, 설정 구성, 캐시, 데이터베이스 쿼리 결과 캐싱, 세션 관리 등 다양한 용도로 사용된다.
  1. 데이터 검색 및 조회
  • 특정 키를 사용하여 값에 빠르게 액세서할 수 있으므로 데이터 검색 및 조회에 많이 사용된다.
  1. 카운터 및 집계
  • HashMap을 사용하여 여러 통계 및 카운트 작업을 수행할 수 있다.
HashMap<String, Integer> productStock = new HashMap<>();
productStock.put("apple", 100);
productStock.put("banana", 50);
productStock.put("cherry", 200);

int stockOfApple = productStock.get("apple"); // stockOfApple에는 100이 저장됨

참고한 것 : 자바의 정석 , 구글 서칭

0개의 댓글