English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 가이드

Java 프로세스 제어

Java 배열

Java 동적 객체(I)

Java 동적 객체(II)

Java 동적 객체(III)

Java 예외 처리

Java 목록(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력 출력(I/O)

Java Reader/Writer

Java 다른 주제

Java Map 인터페이스

이 튜토리얼에서 우리는 Java Map 인터페이스와 그 메서드를 배울 것입니다.

Java 컬렉션 프레임워크의 Map 인터페이스는 Map 데이터 구조의 기능을 제공합니다.

Collection 인터페이스를 구현했습니다.

map의 작업流程

Java에서, Map 요소는 키/값 쌍에서. 키는 각 값과 연관된 유일한 값입니다.

Map 집합은 중복된 키를 포함할 수 없습니다. 그리고 각 키는 하나의 값과 연관됩니다.

우리는 그들과 연관된 키를 사용하여 값을 접근하고 수정할 수 있습니다.

위 그림에서, 우리는 값이 있습니다: United States, Brazil, 그리고 Spain. 우리는 각각의 키가 있습니다: us, br, 그리고 es.

지금, 우리는 그들과 관련된 키를 사용하여 이 값에 접근할 수 있습니다.

주의:Map 인터페이스 유지3다른 집합:

  • 키 집합

  • 값 집합

  • 키/값 연관(지도 집합)의 집합.

따라서, 우리는 키, 값, 그리고 연관을 각각 접근할 수 있습니다.

Map을 구현하는 클래스

Map은 인터페이스이므로 객체를 생성할 수 없습니다.

Map 인터페이스의 기능을 사용하려면 다음과 같은 클래스를 사용할 수 있습니다:

이 클래스들은 컬렉션 프레임워크에서 정의되고 Map 인터페이스를 구현합니다.

Map을 继承하는 인터페이스

Map 인터페이스는 다음과 같은 서브 인터페이스를 继承합니다:

map를 어떻게 사용하나요?

Java에서는 Map을 사용하려면 java.util.Map 패키지를 가져오아야 합니다. 패키지를 가져온 후 다음과 같은 방법으로 map를 생성합니다.

//HashMap 클래스를 사용하여 Map을 생성합니다
Map<Key, Value> numbers = new HashMap<>();

위의 코드에서는 numbers라는 Map을 생성했습니다.我们已经使用HashMap 클래스를 Map 인터페이스를 구현하기 위해 사용했습니다.

이곳에서

  • Key - map의 각 요소(값)과 연결되는 유일한 식별자

  • Value - map에 키로 연결된 요소

map 메서드

Map 인터페이스는 Collection 인터페이스의 모든 메서드를 포함합니다. 이는 Collection이 Map의 슈퍼 인터페이스이기 때문입니다.

Collection 인터페이스에서 사용할 수 있는 메서드 외에도 Map 인터페이스에는 다음과 같은 메서드가 포함됩니다:

  • put(K, V) - 키K와 값V의 연결을 map에 삽입합니다. 키가 이미 존재하면, 새로운 값이 기존 값 대신替换됩니다。

  • putAll() - 지정된 Map集合의 모든 항목을 이 Map集合에 삽입합니다。

  • putIfAbsent(K, V) - 키K와 value가 연결되지 않았다면, 연결 V를 삽입합니다。

  • get(K) - 지정된 키 K와 관련된 값을 반환합니다. 키를 찾지 못하면 null을 반환합니다。

  • getOrDefault(K, defaultValue) - 지정된 키 K와 관련된 값을 반환합니다. 키를 찾지 못하면 defaultValue를 반환합니다。

  • containsKey(K) - 지정된 키 K가 map에 있는지 확인합니다。

  • containsValue(V) - 지정된 값 V가 map에 존재하는지 확인합니다。

  • replace(K, V) - 키K의 값을 새로운 지정된 값 V로 대체합니다。

  • replace(K, oldValue, newValue) - 키K와 oldValue와 관련된 경우에만 새로운 값 newValue로 키K의 값을 대체합니다。

  • remove(K) - 키K를 나타내는 Map에서 항목을 제거합니다。

  • remove(K, V) - Map集合에서 키K와 값V와 관련된 항목을 제거합니다。

  • keySet() -Map 집합에 존재하는 모든 키의 집합을 반환합니다

  • values() -Map 집합에 포함된 모든 값을 포함하는 집합을 반환합니다

  • entrySet() -map에 존재하는 모든 키를 반환합니다/값 매핑 집합.

map 인터페이스 구현

1. HashMap 클래스 구현

import java.util.Map;
import java.util.HashMap;
class Main {
    public static void main(String[] args) {
        //HashMap 클래스를 사용하여 map을 생성합니다
        Map<String, Integer> numbers = new HashMap<>();
        //요소를 map 집합에 삽입합니다
        numbers.put("One", 1);
        numbers.put("Two", 2);
        System.out.println("Map: ") + numbers);
        //map의 키
        System.out.println("Keys: ") + numbers.keySet());
        //map의 값
        System.out.println("Values: ") + numbers.values());
        //map의 항목
        System.out.println("Entries: ") + numbers.entrySet());
        //map 집합에서 요소를 제거하려면
        int value = numbers.remove("Two");
        System.out.println("삭제된 값은: ") + value);
    }
}

출력 결과

Map: {One=1, Two=2}
Keys: [One, Two]
Values: [1, 2]
Entries: [One=1, Two=2]
삭제된 값은: 2

HashMap에 대한更多信息를 알고 싶다면 방문하세요Java HashMap

2. TreeMap 클래스 구현

import java.util.Map;
import java.util.TreeMap;
class Main {
    public static void main(String[] args) {
        //TreeMap을 사용하여 map을 생성합니다
        Map<String, Integer> values = new TreeMap<>();
        //요소를 map에 삽입합니다
        values.put("Second", 2);
        values.put("First", 1);
        System.out.println("TreeMap을 사용하여 map을 생성합니다: " + values);
        //대체 값
        values.replace("First", 11);
        values.replace("Second", 22);
        System.out.println("새로운 Map: " + values);
        //map 집합에서 요소를 제거하려면
        int removedValue = values.remove("First");
        System.out.println("제거된 값: " + removedValue);
    }
}

출력 결과

TreeMap을 사용하여 map을 생성하려면 {First=1, Second=2}
새로운 Map: {First=11, Second=22}
제거된 값: 11

TreeMap에 대한更多信息를 더 알고 싶다면 방문하세요Java TreeMap