본문 바로가기

spring

[spring] java 기초 개념 Map, HashMap

  • Map
    • 정의
      • :데이터를 키-값(key-value) 쌍으로 저장하는 자료구조를 제공하는 인터페이스
        • 키는 중복 허용 x, 값은 중복 허용
    • 사용성
      • 데이터를 검색하거나 특정 키에 대한 값에 접근하는데 빠른 속도를 제공하는 유용한 자료구조.
    • 구현 클래스 :
      • HashMap, TreeMap, LinkdedHashMap 등...
    • 메서드
      •  
      • put(key, value): 지정된 키와 값을 Map에 추가. 만약 이미 동일한 키가 존재한다면 기존 값을 새 값으로 덮어씀.
      • get(key): 지정된 키에 해당하는 값을 반환. 만약 키가 존재하지 않으면 null을 반환.
      • containsKey(key): 지정된 키가 Map에 존재하는지 여부를 확인.
      • containsValue(value): 지정된 값이 Map에 존재하는지 여부를 확인.
      • remove(key): 지정된 키와 해당하는 값을 Map에서 제거.
      • size(): Map에 저장된 키-값 쌍의 개수를 반환.
import java.util

private static Map<Long, String> map;

map.put(member.getId(), member);
map.get(member.getId());
map.containsKey(member.getId());
map.containsValue(member);
map.remove(member.getId());
map.size(member.getId());

 

  • HashMap
    • 정의
      • : Map의 구현 클래스 중 하나. 내부적으로 해시 함수를 사용해 키를 해시코드로 변환한 다음 이를 배열의 인덱스로 매핑하여 데이터를 저장
    • 사용성
      • 장점
        • 매우 빠른 검색, 접근, 삽입, 삭제.
      • 단점
        • 순서가 보장되지 않기에, 순서가 중요하다면 LinkdeHashMap을 사용해야함.