코딩 스쿨 Java

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

Java HashMap Methods

자바에서의 HashMap 메서드 (Java HashMap Methods)

  • *HashMap*은 자바의 **키-값 쌍(key-value pair)**을 저장하는 자료구조입니다. HashMap해시 테이블을 기반으로 하며, 빠른 검색, 삽입, 삭제 작업을 제공하는 데이터 구조입니다. HashMap
    .util.HashMap 클래스에 속하며, Map 인터페이스를 구현하고 있습니다. 각 키는 고유해야 하며, 키를 사용하여 값에 빠르게 접근할 수 있습니다.

HashMap 생성

HashMapnew 키워드를 사용해 생성하며, 제네릭을 사용해 키와 값의 데이터 타입을 지정할 수 있습니다.

HashMap 생성 예시

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        // 키가 String, 값이 Integer인 HashMap 생성
        HashMap<String, Integer> map = new HashMap<>();

        // 키가 Integer, 값이 String인 HashMap 생성
        HashMap<Integer, String> map2 = new HashMap<>();
    }
}

설명:

  • HashMap<String, Integer>: 문자열을 키로, 정수를 값으로 저장하는 HashMap입니다.
  • HashMap<Integer, String>: 정수를 키로, 문자열을 값으로 저장하는 HashMap입니다.

주요 HashMap 메서드

1. put(): 키-값 쌍 추가

put() 메서드는 HashMap새로운 키-값 쌍을 추가하거나, 기존 키가 있으면 해당 키의 값을 덮어씁니다.

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();

        // 키-값 쌍 추가
        map.put("Apple", 1);
        map.put("Banana", 2);
        map.put("Orange", 3);

        System.out.println(map);  // 출력: {Apple=1, Banana=2, Orange=3}
    }
}

2. get(): 키에 해당하는 값 가져오기

get() 메서드는 HashMap에서 특정 키에 해당하는 값을 반환합니다. 만약 해당 키가 없으면 **null**을 반환합니다.

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("Apple", 1);
        map.put("Banana", 2);

        // 키에 해당하는 값 가져오기
        int value = map.get("Apple");
        System.out.println(value);  // 출력: 1

        // 없는 키를 조회할 경우 null 반환
        System.out.println(map.get("Orange"));  // 출력: null
    }
}

3. remove(): 특정 키-값 쌍 제거

remove() 메서드는 HashMap에서 특정 키에 해당하는 키-값 쌍을 제거합니다.

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("Apple", 1);
        map.put("Banana", 2);
        map.put("Orange", 3);

        // 키에 해당하는 키-값 쌍 제거
        map.remove("Banana");

        System.out.println(map);  // 출력: {Apple=1, Orange=3}
    }
}

4. size(): HashMap의 크기 반환

size() 메서드는 HashMap에 저장된 키-값 쌍의 개수를 반환합니다.

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("Apple", 1);
        map.put("Banana", 2);

        // HashMap의 크기 출력
        System.out.println(map.size());  // 출력: 2
    }
}

5. containsKey(): 특정 키 포함 여부 확인

containsKey() 메서드는 HashMap특정 키가 존재하는지 여부를 확인합니다. 존재하면 true, 그렇지 않으면 false를 반환합니다.

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("Apple", 1);
        map.put("Banana", 2);

        // 특정 키가 있는지 확인
        System.out.println(map.containsKey("Apple"));  // 출력: true
        System.out.println(map.containsKey("Orange"));  // 출력: false
    }
}

6. containsValue(): 특정 값 포함 여부 확인

containsValue() 메서드는 HashMap특정 값이 존재하는지 여부를 확인합니다. 존재하면 true, 그렇지 않으면 false를 반환합니다.

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("Apple", 1);
        map.put("Banana", 2);

        // 특정 값이 있는지 확인
        System.out.println(map.containsValue(1));  // 출력: true
        System.out.println(map.containsValue(3));  // 출력: false
    }
}

7. isEmpty(): HashMap이 비어있는지 확인

isEmpty() 메서드는 HashMap비어있는지 여부를 확인합니다. 비어 있으면 true, 그렇지 않으면 false를 반환합니다.

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();

        // HashMap이 비어있는지 확인
        System.out.println(map.isEmpty());  // 출력: true

        map.put("Apple", 1);

        System.out.println(map.isEmpty());  // 출력: false
    }
}

8. clear(): 모든 키-값 쌍 제거

clear() 메서드는 HashMap모든 키-값 쌍을 제거하여 빈 맵으로 만듭니다.

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("Apple", 1);
        map.put("Banana", 2);

        // 모든 키-값 쌍 제거
        map.clear();

        System.out.println(map);  // 출력: {}
    }
}

9. putAll(): 다른 맵의 모든 키-값 쌍 추가

putAll() 메서드는 다른 맵의 모든 키-값 쌍을 추가하여, 기존의 HashMap에 병합할 수 있습니다.

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map1 = new HashMap<>();
        map1.put("Apple", 1);
        map1.put("Banana", 2);

        HashMap<String, Integer> map2 = new HashMap<>();
        map2.put("Orange", 3);
        map2.put("Grapes", 4);

        // map2의 모든 키-값 쌍을 map1에 추가
        map1.putAll(map2);

        System.out.println(map1);  // 출력: {Apple=1, Banana=2, Orange=3, Grapes=4}
    }
}

10. keySet(): 모든 키 반환

keySet() 메서드는 HashMap에 있는 모든 키를 **Set**으로 반환합니다.

import java.util.HashMap;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("Apple", 1);
        map.put("Banana", 2);

        // 모든 키 가져오기
        Set<String> keys = map.keySet();
        System.out.println(keys);  // 출력: [Apple, Banana]
    }
}

11. values(): 모든 값 반환

values() 메서드는 HashMap에 있는 모든 값을 **Collection**으로 반환합니다.

import java.util.Collection;
import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("Apple", 1);
        map.put("Banana", 2);

        // 모든 값 가져오기
        Collection<Integer> values = map.values();
        System.out.println(values);  // 출력: [1, 2]
    }
}

12. entrySet(): 모든 키-값 쌍 반환

entrySet() 메서드는 HashMap에 있는 모든 키-값 쌍을 **Set**으로 반환합니다. 각 키-값 쌍은 Map.Entry 객체로 표현됩니다.

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("Apple", 1);
        map.put("Banana", 2);

        // 모든 키-값 쌍 가져오기
        Set<Map.Entry<String, Integer>> entries = map.entrySet();

        for (Map.Entry<String, Integer> entry : entries) {
            System.out.println("키: " + entry.getKey() + ", 값: " + entry.getValue());
        }
    }
}

출력:

키: Apple, 값: 1
키: Banana, 값: 2

13. replace(): 특정 키의 값 변경

replace() 메서드는 특정 키의 값을 새로운 값으로 대체합니다. 키가 존재할 때만 값이 변경됩니다.

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("Apple", 1);
        map.put("Banana", 2);

        // 특정 키의 값 변경
        map.replace("Banana", 5);

        System.out.println(map);  // 출력: {Apple=1, Banana=5}
    }
}

요약

자바의 **HashMap**은 키-값 쌍을 저장하고 빠른 조회를 제공하는 자료구조입니다. 주요 메서드는 다음과 같습니다:

  • put(): 키-값 쌍 추가
  • get(): 특정 키에 해당하는 값 가져오기
  • remove(): 특정 키-값 쌍 제거
  • size(): 맵의 크기 반환
  • containsKey(), containsValue(): 특정 키 또는 값이 존재하는지 확인
  • keySet(), values(), entrySet(): 모든 키, 값, 키-값 쌍 반환
  • replace(): 특정 키의 값 변경

이러한 메서드를 활용하여 HashMap을 효율적으로 관리하고 사용할 수 있습니다. HashMap은 특히 검색, 삽입, 삭제 작업이 빈번한 경우 매우 유용한 자료구조입니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com