[JAVA] 자료구조_Map[1]

이민아·2023년 8월 18일
0

Java

목록 보기
2/4

Map 이란?

  • java의 인터페이스로, 키-값 쌍을 저장하는 자료구조
  • 키와 값을 연결하여 저장
  • 키(key)는 중복될 수 없음!
  • Map의 종류 : hashMap, TreeMap, LinkedHashMap등

1. HashMap

: Map 인터페이스를 구현한 클래스 중 하나.
: 해시 테이블을 사용하여 키-값을 저장.
: 빠른 검색과 삽입 속도
: 키와 값에 null 허용
: 값 중복 허용 O, 키 중복 허용 X
: 무순서(Unordered) - 삽입 순서를 기억하지 않음.
: 일반적으로 가장 빠른 검색 속도를 가지며 많은 양의 데이터를 관리할때 유용.

* HashMap 사용 예시:

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> studentScores = new HashMap<>();
        
        studentScores.put("Alice", 90);
        studentScores.put("Bob", 85);
        studentScores.put("Charlie", 95);
        
        int score = studentScores.get("Alice"); // 90
        System.out.println("Alice's score: " + score);
    }
}

2. LinkedHashMap

: Map 인터페이스를 구현한 클래스 중 하나.
: 해시 테이블과 연결 리스트를 결합하여 키-값 쌍을 저장
: 빠른 검색과 삽입 속도
: 키와 값에 null 허용
: 값 중복 허용 O, 키 중복 허용 X
: 무순서(Unordered) - 삽입 순서만 보존하며 정렬되지 않음
: 일반적으로 가장 빠른 검색 속도를 가지며 많은 양의 데이터를 관리할때 유용.

* LinkedHashMap 사용 예시:

import java.util.LinkedHashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        LinkedHashMap<String, Integer> months = new LinkedHashMap<>();
        
        months.put("January", 31);
        months.put("February", 28);
        months.put("March", 31);
        
        // 순회하면 삽입된 순서대로 출력됨
        for (Map.Entry<String, Integer> entry : months.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}
profile
IT업계 종사자

0개의 댓글