[자바]Map / HashMap

매일 기록 습관·2024년 5월 21일

자바

목록 보기
1/1
Map<String, Object> result = new hashmap<>;

MapHashMapjava에서 데이터를 저장하고 관리하는 데 사용되는 자료구조와 관련된용어이다.
Map은 인터페이스이다. 키와 값의 쌍을 저장하고 관리할 수 있는 데이터구조이다.

  • 중복을 허용하지 않는다.
  • 순서는 유지되지 않으며, 키는 중복을 허락하지 않는다.
  • Map인터페이스의 주요 구현 클래스 중에는 HashMap, TreeMap, LinkedHashMap 등이 있다.
  • Map은 인터페이스이므로 직접 인스턴스를 생성할 수 없다. (인터페이스는 선언만 가능하다. 객체 생성이 불가능 때문에 자식인 HashMap을 사용.)
    따라서 new HashMap과 같이 구체적인 구현 클래스의 인스턴스를 생성해야한다.
  • HashMap은 키-값 쌍을 저장할 수 있는 자료구조이고 데이터를 검색하고 가져오는 데 사용되며 HashMapjava에서 가장 많이 사용되는 컬렉션 중 하나이며, 데이터를 빠르게 검색할 수 있다.
    • null을 허용

Map형태로 선언한 경우 언제든 다른 구현체로 변경할 수 있다. 변경에 용이하게.
단 하위 클래스의 자체 메서드를 사용하려면 다운캐스팅 필요.

  • HashMap 데이터를 저장할 때 키와 값이 짝을 이루어 저장됨. 데이터를 저장할 때는 키값으로 해시함수를 실행한 결과를 통해 저장위치를 결정.
    따라서 HashMap은 저장위치를 해시함수를 통해 알 수 있기 때문에 데이터의 추가/삭제 특히 검색이 빠르다는 장점.
  • 키 값을 통해서만 검색이 가능하며, HashMap의 키값은 중복될 수 없고 값은 키값이 다르다면 중복이 가능함.

값추가 - put(key,value);

값삭제 - remove(key);

모든값 제거 - clear();

값출력 - 그냥 println하게되면 {} 로 묶여 Map전체 key값, value가 출력됨.
따라서 특정 key값의 value를 가져오고 싶다면 get(key)를 사용하면됨.

key값만 필요한 경우 - keySet();

for(String key : result.keySet()){

}

0개의 댓글