>  기사  >  Java  >  Java EnumMap

Java EnumMap

王林
王林원래의
2024-08-30 15:47:49713검색

AbstractMap을 확장하는 EnumMap으로 알려진 Java 컬렉션 프레임워크 멤버는 주로 열거형 유형에 대한 인터페이스 맵의 특정 구현입니다. 그 외에도 EnumMap에는 몇 가지 다른 기능도 있습니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

다음이 포함됩니다:

  • 동기화되지 않았습니다.
  • 더 빨라졌습니다. 이에 비해 HashMap은 속도가 느립니다.
  • 키의 자연스러운 순서대로 유지됩니다.
  • 고성능.
  • Null 키는 허용되지 않습니다. 즉, null 키가 있는 경우 NullPointerException이 발생합니다.
  • Null 값이 있을 수 있습니다.
  • 키로는 enum 요소가 사용됩니다.

Java EnumMap에 대한 자세한 내용은 다음 섹션에서 논의됩니다.

구문

Java EnumMap은 아래 구문을 사용하여 선언할 수 있습니다.

public class EnumMap<Key extends Enum<Key>,Value> extends AbstractMap<Key,Value> implements Serializable, Cloneable

Java EnumMap의 생성자

다음은 Java EnumMap에서 일반적으로 사용되는 생성자입니다.

  • EnumMap(클래스<K> keyType): 언급된 keyType을 사용하여 빈 열거형 맵이 생성됩니다.
  • EnumMap(EnumMap<K,? 확장 V>m): 초기 매핑이 있는 경우 언급된 열거형 맵과 동일한 keyType을 사용하여 열거형 맵이 생성됩니다.
  • EnumMap(Map<K,? 확장V> m): 언급된 맵에서 열거형 맵이 생성됩니다.

Java EnumMap의 메서드

이제 Java EnumMap에서 일반적으로 사용되는 메소드를 살펴보겠습니다.

  • clear(): 이 메소드를 호출하면 지도에서 사용 가능한 모든 매핑이 제거됩니다.
  • clone(): 언급된 열거형 맵에 대해 얕은 복사본이 반환됩니다.
  • containsKey(Objectk): 맵에 언급된 키 k에 대한 매핑이 있으면 True가 반환됩니다.
  • containsValue(Objectv): 지도가 언급된 값 v에 1개 이상의 키를 매핑하면 True가 반환됩니다.
  • entrySet(): 지도에서 사용 가능한 매핑에 대해 설정된 뷰가 반환됩니다.
  • equals(객체ob): Map과 언급된 객체 ob가 동일한지 비교됩니다.
  • get(Objectk): 맵에 언급된 키 k에 대한 매핑이 있는 경우 값이 반환됩니다. 키에 값이 없으면 null이 반환됩니다.
  • hashCode(): 지도에 대한 해시 코드가 반환됩니다.
  • keySet(): 지도에 있는 키에 대해 설정된 뷰가 반환됩니다.
  • put(Kkey, V value): 값 v는 지도에 K를 입력하세요.
  • putAll(MapK,? 확장 V>  m): 주어진 지도의 모든 매핑이 이 지도에 복사됩니다.
  • remove(객체k): 언급된 키 k에 대한 매핑이 제거됩니다.
  • size(): 맵에서 사용 가능한 키-값 매핑 개수가 반환됩니다.
  • values(): 지도에서 사용 가능한 값에 대한 컬렉션 뷰가 반환됩니다.

Java EnumMap 구현 예

Java Enum Map에 대해 더 자세히 이해하기 위해 위에서 언급한 메소드를 일부 프로그램에서 구현해 보겠습니다.

예시 #1

열거형 맵을 생성하고 해당 요소를 다른 열거형 맵에 복사하는 샘플 프로그램

코드:

import java.util.EnumMap;
class JavaEnumMapExample {
enum fruits {
APPLE, ORANGE, GRAPES, KIWI
}
public static void main(String[] args) {
// EnumMap creation of the fruits enum
EnumMap<fruits, Integer> fr = new EnumMap<>(fruits.class);
// add key-value to the mapping using the method put()
fr.put(fruits.APPLE, 2);
fr.put(fruits.ORANGE, 5);
System.out.println("The key-value pairs in EnumMap 1 is :  " + fr);
//create another enum map fru
EnumMap<fruits, Integer> fru = new EnumMap<>(fruits.class);
// copy all the elements from first enum map to this using the methodputAll()
fru.putAll(fr);
fru.put(fruits.GRAPES, 3);
System.out.println("The key-value pairs in EnumMap 2 is : " + fru);
}
}

출력:

Java EnumMap

위 프로그램 설명: 위 프로그램에서는 두 개의 enum 맵이 생성됩니다. 첫 번째 맵은 2개의 요소로 생성되고, 두 번째 맵은 첫 번째 맵의 요소를 복사하여 생성됩니다. 그 외에도 두 번째 지도에는 추가 요소가 추가됩니다. 이는 put() 및 putAll() 메소드를 사용하여 수행됩니다.

예시 #2

열거형 맵을 생성하고 키와 값을 별도로 가져오는 샘플 프로그램

코드:

import java.util.EnumMap;
class JavaEnumMapExample {
enum fruits {
APPLE, ORANGE, GRAPES, KIWI
}
public static void main(String[] args) {
// EnumMap creation of the fruits enum
EnumMap<fruits, Integer> fr = new EnumMap<>(fruits.class);
// add key-value to the mapping using the method put()
fr.put(fruits.APPLE, 2);
fr.put(fruits.ORANGE, 5);
System.out.println("The key-value pairs in EnumMap 1 is :  " + fr);
// print all the keys in the enum map using the method keySet()
System.out.println("The keys in enum map 1 are : " + fr.keySet());
// print all the values in the enum map using the method values()
System.out.println("The values in enum map 1 are : " + fr.values());
//create another enum map fru
EnumMap<fruits, Integer> fru = new EnumMap<>(fruits.class);
// copy all the elements from first enum map to this using the methodputAll()
fru.putAll(fr);
fru.put(fruits.GRAPES, 3);
System.out.println("The key-value pairs in EnumMap 2 is : " + fru);
// print all the keys in the enum map using the method keySet()
System.out.println("The keys in enum map 2 are : " + fru.keySet());
// print all the values in the enum map using the method values()
System.out.println("The values in enum map 2 are : " + fru.values());
}
}

출력:

Java EnumMap

Explanation to the above program: Similar to the first program, two enum maps are available here. This program displays the maps’ keys and values independently using the methods keyset() and values(), respectively.

Example #3

Sample program to remove an element from the enum map

Code:

import java.util.EnumMap;
class JavaEnumMapExample {
enum fruits {
APPLE, ORANGE, GRAPES, KIWI
}
public static void main(String[] args) {
// EnumMap creation of the fruits enum
EnumMap<fruits, Integer> fr = new EnumMap<>(fruits.class);
// add key-value to the mapping using the method put()
fr.put(fruits.APPLE, 2);
fr.put(fruits.ORANGE, 5);
System.out.println("The key-value pairs in EnumMap :  " + fr);
// remove an element using the method remove()
int val = fr.remove(fruits.APPLE);
System.out.println("Removed Value: " + val);
System.out.println("The key-value pairs in EnumMap after removing apple :  " + fr);
}
}

Output:

Java EnumMap

Explanation to the above program: In this program, an element is removed from the map using the remove() method and the resultant enum map is printed in the next step.

Conclusion

A detailed explanation of all the aspects such as declaration, methods, constructors of Java EnumMap is discussed in this document in detail.

위 내용은 Java EnumMap의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Java의 해시테이블다음 기사:Java의 해시테이블