본문 바로가기

코딩공부

Java Map

Map 인터페이스는 키(key)와 값(value)으로 구성된 객체를 저장하는 구조로 되어 있습니다. 여기서 이 객체를 Entry 객체라고 하는데, 이 Entry 객체는 키와 값을 각각 Key 객체와 Value 객체로 저장합니다.

Map을 사용할 때 중요한 사실은 키는 중복으로 저장될 수 없지만, 값은 중복 저장이 가능하다는 것입니다. 이는 키의 역할이 값을 식별하는 것이기 때문입니다.

만약 기존에 저장된 키와 같은 키로 값을 저장하면, 기존의 값이 새로운 값으로 대치됩니다.

// Value 에 배열, list, 다른 map 등을 넣어 하나의 key에 여러가지 내용 저장 가능.

객체 추가 Object put(Object key, Object value) 주어진 키로 값을 저장합니다. 해당 키가 새로운 키일 경우 null을 리턴하지만,
같은 키가 있으면 기존의 값을 대체하고 대체되기 이전의 값을 리턴합니다.
객체 검색 boolean containsKey(Object key) 주어진 키가 있으면 true, 없으면 false를 리턴합니다.
boolean containsValue(Object value) 주어진 값이 있으면 true, 없으면 false를 리턴합니다.
Set entrySet() 키와 값의 쌍으로 구성된 모든 Map.Entry 객체를 Set에 담아서 리턴합니다.
Object get(Object key) 주어진 키에 해당하는 값을 리턴합니다.
boolean isEmpty() 컬렉션이 비어 있는지 확인합니다.
Set keySet() 모든 키를 Set 객체에 담아서 리턴합니다.
int size() 저장된 Entry 객체의 총 갯수를 리턴합니다.
Collection values() 저장된 모든 값을 Collection에 담아서 리턴합니다.
객체 삭제 void clear() 모든 Map.Entry(키와 값)을 삭제합니다.
Object remove(Object key) 주어진 키와 일치하는 Map.Entry를 삭제하고 값을 리턴합니다.

 

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

public class HashmapExample {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>() {{
            put("피카츄", 85);
        }};

        // Entry 객체저장

        map.put("꼬부기", 95);
        map.put("야도란", 75);
        map.put("파이리", 65);
        map.put("피존투", 15);

// 저장된 총 Entry 수 얻기
        System.out.println("총 entry 수: " + map.size());

        // 객체 찾기
        System.out.println("파이리 : " + map.get("파이리"));

        // key를 요소로 가지는 Set을 생성 -> 아래에서 순회하기 위해 필요합니다.
        Set<String> keySet = map.keySet();

//        Set<T> entrySet = map.entrySet();
//        Set<Map.Entry<K, V>> entrySet = map.entrySet();
//        Set<Map.Entry<String, Integer>> entrySet = map.entrySet();

        for(Map.Entry<String, Integer> entry : map.entrySet()) {
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key + " : " + value);
        }

        for(String key : map.keySet()) {
            Integer value = map.get(key);
            System.out.println(key + " : " + value);
        }
    }
}

*수정필요

'코딩공부' 카테고리의 다른 글

Java Annotation  (0) 2024.04.22
Java Collection class 종류 정리  (0) 2024.04.19
Java Collection Set  (0) 2024.04.19
Java Iterator  (0) 2024.04.19
Java List 공부  (0) 2024.04.19