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

웅평·2023년 12월 10일

Map

  • key, value 형태를 가지고 있다
  • key로 접근

HashMap

HashMap 선언

HashMap<String, Integer> map = new HashMap<>();

데이터 추가

		map.put("유재석", 10);
        map.put("박명수", 5);
        map.put("정준하", 3);
        map.put("하하", 15);
        System.out.println("총 고객 수 : " + map.size());

조회, get("key")

		System.out.println(map.get("유재석"));
        System.out.println(map.get("박명수"));

석제

map.remove("유재석");

key 확인

 for (String key : map.keySet()) {
            System.out.println(key);
        }

Value 확인

for (int value : map.values()) {
            System.out.println(value);
        }

Key-Value 같이 확인

for (String key : map.keySet()) {
            System.out.println("고객 이름 : " + key + " 포인트 : " + map.get(key));
        }
  • 중복, 순서보장 X
  • 마지막에 입력한 값이 저장된다

LinkedHashMap

  • 순서 보장 LinkedHashMap
HashMap<String, Integer> link = new LinkedHashMap<>();
        link.put("정준하", 3);
        link.put("하하", 15);
        link.put("유재석", 10);
        link.put("박명수", 5);
        
        for (String key : link.keySet()) {
            System.out.println("고객 이름 : " + key + " 포인트 : " + link.get(key));
        }

TreeMap

  • TreeMap은 데이터를 저장할 때 즉시 정렬
  • 추가나 삭제가 HashMap보다 오래 걸린다.
  • 정렬된 상태로 Map을 유지해야 하거나 정렬된 데이터를 조회해야 하는 범위 검색이 필요한 경우 TreeMap을 사용하는 것이 효율성면에서 좋다.

TreeMap 선언

TreeMap<Integer,String> map1 = new TreeMap<Integer,String>();//TreeMap생성 TreeMap<Integer,String> map2 = new TreeMap<>();//new에서 타입 파라미터 생략가능 TreeMap<Integer,String> map3 = new TreeMap<>(map1);//map1의 모든 값을 가진 TreeMap생성 TreeMap<Integer,String> map6 = new TreeMap<Integer,String>(){{//초기값 설정    put(1,"a");}};

TreeMap 값 추가

TreeMap<Integer,String> map = new TreeMap<Integer,String>();//TreeMap생성map.put(1, "사과");//값 추가
map.put(2, "복숭아");map.put(3, "수박");

참고
나도코딩 유튜브

0개의 댓글