JavaTM Platform
Standard Ed. 6

java.util
인터페이스 Map.Entry<K, V>

기존의 구현 클래스의 일람:
AbstractMap.SimpleEntry , AbstractMap.SimpleImmutableEntry
포함되어 있는 인터페이스:
Map <K ,V >


public static interface Map.Entry<K, V>

맵의 엔트리 (키와 값의 페어)입니다. Map.entrySet 메소드는, 이 클래스에 속하는 요소를 가지는 맵의 코레크션뷰를 돌려줍니다. 맵 엔트리에의 참조를 취득하는 유일한 방법은, 이 코레크션뷰의 반복자로부터 취득하는 방법입니다. 이러한 Map.Entry 객체는, 반복 처리중에만 유효합니다. 즉, 맵 엔트리의 setValue 오퍼레이션 이외 방법으로 엔트리가 반복자에 의해 반환된 뒤에, 기본으로 되어 있는 맵이 변경되었을 경우, 맵 엔트리의 동작은 정의되고 있지 않습니다.

도입된 버젼:
1.2
관련 항목:
Map.entrySet()

메소드의 개요
 boolean equals (Object  o)
          지정된 객체가 엔트리와 동일한지 어떤지를 비교합니다.
 K getKey ()
          엔트리에 대응하는 키를 돌려줍니다.
 V getValue ()
          엔트리에 대응하는 값을 돌려줍니다.
 int hashCode ()
          이 맵 엔트리의 해시 코드값를 돌려줍니다.
 V setValue (V  value)
          엔트리에 대응하는 값을, 지정된 값에 옮겨놓습니다 (임의의 오퍼레이션).
 

메소드의 상세

getKey

K  getKey()
엔트리에 대응하는 키를 돌려줍니다.

반환값:
엔트리에 대응하는 키
예외:
IllegalStateException - 구현은, 이 엔트리가 그 기본으로 되는 맵으로부터 삭제되고 있는 경우에 이 예외를 throw 할 수가 있다. 다만, 필수는 아니다

getValue

V  getValue()
엔트리에 대응하는 값을 돌려줍니다. 매핑이 (반복자의 remove 오퍼레이션에 의해) 기본으로 되어 있는 맵으로부터 삭제되고 있는 경우는, 이 호출의 결과는 보증되지 않습니다.

반환값:
엔트리에 대응하는 값
예외:
IllegalStateException - 구현은, 이 엔트리가 그 기본으로 되는 맵으로부터 삭제되고 있는 경우에 이 예외를 throw 할 수가 있다. 다만, 필수는 아니다

setValue

V  setValue(V  value)
엔트리에 대응하는 값을, 지정된 값에 옮겨놓습니다 (임의의 오퍼레이션). 맵에 기입합니다. 매핑이 (반복자의 remove 오퍼레이션에 의해) 벌써 맵으로부터 삭제되고 있는 경우는, 이 호출의 결과는 보증되지 않습니다.

파라미터:
value - 엔트리에 포함되고 있는 새로운 값
반환값:
엔트리에 대응하기 이전의 값
예외:
UnsupportedOperationException - put 오퍼레이션이 기본으로 되는 맵으로 지원되지 않는 경우
ClassCastException - 지정된 값의 클래스가 원인으로, 기가 되는 맵에 그 값을 포함할 수 없는 경우
NullPointerException - 기가 되는 맵이 null 치를 허가하지 않고, 지정된 값이 null 인 경우
IllegalArgumentException - 이 값이 있는 프로퍼티이 원인으로, 기가 되는 맵에 그 값을 포함할 수 없는 경우
IllegalStateException - 구현은, 이 엔트리가 그 기본으로 되는 맵으로부터 삭제되고 있는 경우에 이 예외를 throw 할 수가 있다. 다만, 필수는 아니다

equals

boolean equals(Object  o)
지정된 객체가 엔트리와 동일한지 어떤지를 비교합니다. 지정된 객체도 맵 엔트리이며, 2 개의 엔트리가 같은 매핑을 나타내는 경우는 true 를 돌려줍니다. 즉, 2 개의 엔트리 e1e2 는, 이하와 같이 되는 경우에 같은 매핑을 나타냅니다.
(e1.getKey() ==null ?  e2.getKey() ==null :
e1.getKey(). equals(e2.getKey()))  &&
(e1.getValue() ==null ?
e2.getValue() ==null :e1.getValue(). equals(e2.getValue()))
 
이것에 의해,Map.Entry 인터페이스의 구현이 다른 경우에서도, equals 메소드가 정상적으로 동작하는 것이 보증됩니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
o - 맵 엔트리와 동일한지 어떤지를 비교하는 객체
반환값:
지정된 객체가 이 맵 엔트리와 동일한 경우는 true
관련 항목:
Object.hashCode() , Hashtable

hashCode

int hashCode()
이 맵 엔트리의 해시 코드값를 돌려줍니다. 맵 엔트리 e 의 해시 코드는, 다음과 같이 정의됩니다.
(e.getKey() ==null   ? 0 : e.getKey(). hashCode()) ^
(e.getValue() ==null ? 0 : e.getValue(). hashCode())
 
이것에 의해,Object.hashCode 의 일반 규약에 의해 요구되는, 임의의 2 개의 엔트리 e1e2 로,e1.equals(e2) 이면 e1.hashCode() ==e2.hashCode() 가 되는 것이 보증됩니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
맵 엔트리의 해시 코드값
관련 항목:
Object.hashCode() , Object.equals(Object) , equals(Object)

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.