English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서 우리는 Java Map 인터페이스와 그 메서드를 배울 것입니다.
Java 컬렉션 프레임워크의 Map 인터페이스는 Map 데이터 구조의 기능을 제공합니다.
Collection 인터페이스를 구현했습니다.
Java에서, Map 요소는 키/값 쌍에서. 키는 각 값과 연관된 유일한 값입니다.
Map 집합은 중복된 키를 포함할 수 없습니다. 그리고 각 키는 하나의 값과 연관됩니다.
우리는 그들과 연관된 키를 사용하여 값을 접근하고 수정할 수 있습니다.
위 그림에서, 우리는 값이 있습니다: United States, Brazil, 그리고 Spain. 우리는 각각의 키가 있습니다: us, br, 그리고 es.
지금, 우리는 그들과 관련된 키를 사용하여 이 값에 접근할 수 있습니다.
주의:Map 인터페이스 유지3다른 집합:
키 집합
값 집합
키/값 연관(지도 집합)의 집합.
따라서, 우리는 키, 값, 그리고 연관을 각각 접근할 수 있습니다.
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 인터페이스는 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에 존재하는 모든 키를 반환합니다/값 매핑 집합.
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。