HashSet, HashMap

SeungJoo
|2023. 10. 23. 17:57
반응형

HashSet

중복된 원소를 허용하지 않고, 순서를 보장하지 않는 집합을 구현하는 클래스입니다.

HashSet 특징

  • 중복된 원소 사용하지 않습니다.
  • 순서를 보장하지 않습니다.
  • 빠른 검색과 삽입이 가능합니다.
public class HashSet {
    public static void main(String[] args) {
        //세트 - 중복 허용 x
        // HashSet 사용시 순서도 보장 되지 않고 중복도 허용되지 xx
        HashSet<String> set = new HashSet<>();

        //데이터 추가
        set.add("삼겹살");
        set.add("쌈장");
        set.add("음료");
        set.add("소금");
        set.add("후추");
        set.add("깻잎");
        set.add("삼겹살");
        set.add("상추");
        set.add("삼겹살");

        System.out.println("총 구매 상품 수 : " + set.size());

    }
}

// 결과값 : 7

HashMap

키-값을 저장하고 검색하는데 사용되며 데이터 구조를 기반으로 키와 값을 저장함으로써 데이터를 관리합니다.

HashMap 특징

  • 키-값 쌍으로 저장 가능합니다. 각각의 키는 유일해야 하며, 각 키는 하나의 값과 연결됩니다.
  • 각 키는 유일해야 하기 때문에 중복된 키를 허용하지 한고 동일한 키로 값을 덮어쓰게 됩니다.
  • HashMap은 하나의 null키로 허용하고, 여러 개의 null 값을 허용합니다.
public class HashMap {
    public static void main(String[] args) {
        // 맵 (Key, Value)                //HashMap이 아닌 LinkedHashMap 사용 시 순서, 키값 기준으로 순서를 보장!
        HashMap<String, Integer> map = new HashMap<>();

        // 데이터 추가
        map.put("Java", 10);
        map.put("Spring", 5);
        map.put("Node", 3);
        map.put("Python", 15);

        System.out.println("총 고객 수 : " + map.size());

        System.out.println("Java 포인트 정보 : " + map.get("Java"));
        System.out.println("Spring 포인트 정보 : " + map.get("Spring"));

        // 확인
        if (map.containsKey("Node")) {
            int point = map.get("Node");
            map.put("Node" , ++point);
            System.out.println("Node 누정 포인트 : " +map.get("Node"));
        } else {
            map.put("Node", 1);
            System.out.println("Node 신규 등록 (포인트1)");
        }

        // 삭제
        map.remove("Java");
        System.out.println(map.get("Java")); // 키 값이 없을때 Null출력

        // 전체 삭제
        map.clear();

HashSet, HashMap 사용 방법

기본 생성자 사용

import java.util.HashSet;
HashSet<String> s = new HashSet<>(); // set


import java.util.HashMap;
HashMap<String, Integer> map = new HashMap<>();// map

메서드 종류

데이터 추가

set.add("소주")  // set
map.put("맥주")  // map

데이터 삭제

set.remove("치킨") // set
map.remove("치킨") // map

모든 요소 제거

set.clear(); // set
map.clear(); // map

Java의 정석

728x90

'JAVA' 카테고리의 다른 글

Static 사용?  (0) 2023.10.27
Generics  (1) 2023.10.22
Super  (0) 2023.10.21