자바의 컬렉션 프레임워크(Map)

2023. 1. 10. 02:00·BackEnd/JAVA 공부

Map 컬렉션 클래스

Map 인터페이스는 Collection 인터페이스와는 다른 저장 방식을 가진다.
Map 인터페이스를 구현한 Map 컬렉션 클래스들은 키와 값을 하나의 쌍으로 저장하는 방식을 사용한다.

Map의 특징

  • 요소의 저장 순서를 유지하지 않는다.
  • 키는 중복을 허용하지 않지만, 값의 중복은 허용한다.

 

HashMap<K, V> 클래스

HashMap<Integer, Integer> hm = new HashMap<>();

중복된 키로는 저장할 수 없다.

메소드 설명
void clear() 해당 맵(map)의 모든 매핑(mapping)을 제거한다.
boolean containsKey(Object key) 해당 맵이 전달된 키를 포함하고 있는지를 확인한다.
boolean containsValue(Object value) 해당 맵이 전달된 값에 해당하는 하나 이상의 키를 포함하고 있는지를 확인한다.
V get(Object key) 해당 맵에서 전달된 키에 대응하는 값을 반환한다.
boolean isEmpty() 해당 맵이 비어있는지를 확인한다.
Set<K> keySet() 해당 맵에 포함되어 있는 모든 키로 만들어진 Set 객체를 반환한다.
V put(K key, V value) 해당 맵에 전달된 키에 대응하는 값으로 특정 값을 매핑한다.
boolean remove(Object key, Object value) 해당 맵에서 특정 값에 대응하는 특정 키의 매핑을 제거한다.
V replace(K key, V value) 해당 맵에서 전달된 키에 대응하는 값을 특정 값으로 대체한다.
boolean replace(K key, V oldValue, V newValue) 해당 맵에서 특정 값에 대응하는 전달된 키의 값을 새로운 값으로 대체한다.
int size() 해당 맵의 매핑의 총 개수를 반환한다.

 

TreeMap<K, V> 클래스

키와 값을 한 쌍으로 하는 데이터를 이진 검색 트리의 형태로 저장한다.

TreeMap<Integer, Integer> tm = new TreeMap<>();
메소드 설명
Map.Entry<K, V> ceilingEntry(K key) 해당 맵에서 전달된 키와 같거나, 전달된 키보다 큰 키 중에서 가장 작은 키와 그에 대응하는 값의 엔트리를 반환한다.
K ceilingKey(K key) 해당 맵에서 전달된 키와 같거나, 전달된 키보다 큰 키 중에서 가장 작은 키를 반환한다,
NavigableMap<K, V> descendingMap() 해당 맵에 포함된 모든 매핑을 역순으로 반환한다.
Set<Map.Entry<K, V>> entrySet() 해당 맵에 포함된 모든 매핑을 Set 객체로 반환한다.
Map.Entry<K, V> firstEntry() 해당 맵에서 현재 가장 작은(첫 번째) 키와 그에 대응하는 값의 엔트리를 반환한다.
K firstKey() 해당 맵에서 현재 가장 작은(첫 번째) 키를 반환한다.
Map.Entry<K, V> floorEntry(K key) 해당 맵에서 전달된 키와 같거나, 전달된 키보다 작은 키 중에서 가장 큰 키와 그에 대응하는 값의 엔트리를 반환한다.
K floorKey(K key) 해당 맵에서 전달된 키와 같거나, 전달된 키보다 작은 키 중에서 가장 큰 키를 반환한다.
SortedMap<K, V> headMap(K toKey) 해당 맵에서 전달된 키보다 작은 키로 구성된 부분만을 반환한다.
Map.Entry<K, V> higherEntry(K key) 해당 맵에서 전달된 키보다 작은 키 중에서 가장 큰 키와 그에 대응하는 값의 엔트리를 반환한다.
K higherKey(K key) 해당 맵에서 전달된 키보다 작은 키 중에서 가장 큰 키를 반환한다.
Set<K> keySet() 해당 맵에 포함되어 있는 모든 키로 만들어진 Set 객체를 반환한다.
Map.Entry<K, V> lastEntry() 해당 맵에서 현재 가장 큰(마지막) 키와 그에 대응하는 값의 엔트리를 반환한다.
K lastKey() 해당 맵에서 현재 가장 큰(마지막) 키를 반환한다.
Map.Entry<K, V> lowerEntry(K key) 해당 맵에서 전달된 키보다 큰 키 중에서 가장 작은 키와 그에 대응하는 값의 엔트리를 반환한다.
K lowerKey(K key) 해당 맵에서 전달된 키보다 큰 키 중에서 가장 작은 키를 반환한다.
Map.Entry<K, V> pollFirstEntry() 해당 맵에서 현재 가장 작은(첫 번째) 키와 그에 대응하는 값의 엔트리를 반환하고, 해당 엔트리를 맵에서 제거한다.
Map.Entry<K, V> pollLastEntry() 해당 맵에서 현재 가장 큰(마지막) 키와 그에 대응하는 값의 엔트리를 반환하고, 해당 엔트리를 맵에서 제거한다.
SortedMap<K, V> subMap(K fromKey, K toKey) 해당 맵에서 fromKey부터 toKey까지로 구성된 부분만을 반환함.
이때 fromKey는 포함되나, toKey는 포함되지 않는다.
SortedMap<K, V> tailMap(K fromKey) 해당 맵에서 fromKey와 같거나, fromKey보다 큰 키로 구성된 부분만을 반환한다.


출저
http://www.tcpschool.com/java/java_collectionFramework_map

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

'BackEnd > JAVA 공부' 카테고리의 다른 글

스트림이란? (1)  (1) 2023.07.11
람다식이란?  (0) 2023.07.09
자바의 컬렉션 프레임워크(Set)  (0) 2023.01.10
자바의 컬렉션 프레임워크(List)  (0) 2023.01.09
JAVA String 관련 함수  (1) 2022.12.24
'BackEnd/JAVA 공부' 카테고리의 다른 글
  • 스트림이란? (1)
  • 람다식이란?
  • 자바의 컬렉션 프레임워크(Set)
  • 자바의 컬렉션 프레임워크(List)
인프라 감자
인프라 감자
  • 인프라 감자
    삶은 인프라
    인프라 감자
  • 전체
    오늘
    어제
    • 분류 전체보기 (243)
      • 클라우드&인프라 (28)
        • 인프라 공부 (4)
        • AWS 구조와 서비스 (18)
        • 클라우드 공부 (4)
        • Terraform (2)
      • AWS Cloud School (13)
        • project (5)
        • Linux, Network (6)
        • Docker (2)
      • BackEnd (162)
        • JAVA 공부 (15)
        • 알고리즘 공부 (71)
        • MySQL 문제 풀기 (8)
        • 스프링 핵심 원리 - 기본편 (18)
        • 스프링 MVC 1편 (4)
        • 자바 ORM 표준 JPA 프로그래밍 (21)
        • 실전! 스프링 부트와 JPA 활용1 (8)
        • 실전! 스프링 부트와 JPA 활용2 (5)
        • 스프링 데이터 JPA (8)
        • Querydsl (4)
      • 혼자하는 프로젝트 (32)
        • 배달의 민족 클론코딩 (7)
        • 나만의 프로젝트 (10)
        • 스프링 부트로 구현한 웹 (15)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Email
    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    정렬
    이것이 자바다
    프로그래머스
    완전탐색
    자동 배포
    dp
    백트래킹
    다이나믹 프로그래밍
    querydsl
    상속
    쿼드 압축
    스프링 핵심 원리-기본편
    조합
    linux
    자바
    네트워크 기본 용어
    디팬스 게임
    유니온 파인드
    VPN
    중첩 선언
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
인프라 감자
자바의 컬렉션 프레임워크(Map)
상단으로

티스토리툴바