|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
키를 값에 매핑 하는 오브젝트입니다. MAP에는 동일한 키를 복수 등록할 수 없습니다. 각 키는 1 개의 값밖에 매핑 할 수 없습니다.
이 인터페이스는 인터페이스라고 하는 것보다 오히려 완전하게 추상 클래스에서 만난 Dictionary 클래스에 대신하는 것입니다.
Map 인터페이스가 제공하는 3 개의 코레크션뷰에 의해, MAP의 내용을, 키세트, 값의 콜렉션, 혹은 키와 값의 매핑세트로서 표시할 수 있게 됩니다. MAP의 「순서」는 MAP의 코레크션뷰의 반복자가 요소를 돌려줄 때의 순서로서 정의됩니다. TreeMap 클래스 등 일부의 MAP의 구현에서는 순서에 대해 프로텍션합니다만,HashMap 클래스등의 구현에서는 순서는 프로텍션되지 않습니다.
주: 가변 오브젝트를 MAP 키로서 사용하는 경우는 세심의 주의가 필요합니다. 오브젝트가 MAP내의 키일 때, equals 의 비교에 영향을 주는 방법으로 오브젝트의 값이 변경되었을 경우, MAP의 동작은 프로텍션되지 않습니다. 이 금지 사항의 특수한 예로서 MAP가 그것 자신을 키로서 가지지 못하는 것을 들 수 있습니다. MAP가 그것 자신을 값으로 해서 가지는 것은 허가됩니다만, 그 경우는 세심의 주의가 필요합니다. 이러한 MAP의 경우, equals 메소드 및 hashCode 메소드의 결과는 프로텍션되지 않습니다.
범용 MAP의 구현 클래스는 모두, 다음의 2 개의 표준적인 constructor를 제공하도록 해 주세요. 2 개의 표준적인 constructor 이란, void (인수 없음) constructor 과Map 형의 인수를 1 개 취하는 constructor 입니다. 전자는 하늘의 MAP를 작성해, 후자는 같은 키와 값의 매핑을 인수로서 가지는 새로운 MAP를 작성합니다. 그 결과, 유저는 후자의 constructor를 사용해 임의의 MAP를 카피하는 것으로써, 필요한 클래스와 등가인 MAP를 작성할 수 있습니다. 이것은 강제적인 것이 아닙니다만 (인터페이스가 constructor를 가질 수가 없기 때문에), SDK 에서의 범용 MAP의 구현은 모두 이것에 따르고 있습니다.
이 MAP가 오퍼레이션을 서포트하고 있지 않는 경우, 이 인터페이스 (처리되는 MAP를 수정하는 메소드)에 포함되어 있는 「파괴적인」메소드는 UnsupportedOperationException 를 슬로우 하도록(듯이) 지정되고 있습니다. 이 때, 호출이 MAP에 영향을 미치지 않는 경우, 이러한 메소드는 UnsupportedOperationException 를 슬로우 하는 일이 있습니다만, 필수가 아닙니다. 예를 들어, 매핑을 「거듭해 맞춘다」MAP가 비었을 경우에, 변경 불가능한 MAP로 putAll(Map)
메소드를 호출하면(자), 예외를 슬로우 하는 일이 있습니다만, 필수가 아닙니다.
MAP의 구현에는 저장할 수 있는 키와 값에 제한이 있는 것도 있습니다. 예를 들어, null 키와 null 치를 금지하는 구현이나, null 키의 형태에 제한이 있는 구현도 있습니다. 부적당한 키 또는 값을 삽입하려고 하면(자), 통상 NullPointerException 또는 ClassCastException 와 같은 체크되지 않는 예외가 슬로우 됩니다. 부적당한 키나 값이 있을까 조회하려고 하면(자), 예외를 슬로우 하는 경우나, 다만 false 를 돌려주는 경우도 있습니다. 전의 동작을 금지하는 구현도 있으면, 후의 동작을 금지하는 구현도 있습니다. 많은 경우는 MAP에 부적격인 요소를 삽입하지 않는 부적격인 키 또는 값을 처리하려고 하면(자), 구현의 재량으로, 예외가 슬로우 되는 경우나, 처리가 유효하게 되는 경우가 있습니다. 이러한 예외는 이 인터페이스에 관한 「임의」의 사양으로서 마크 됩니다.
HashMap
,
TreeMap
,
Hashtable
,
SortedMap
,
Collection
,
Set
중첩된 클래스의 개요 | |
static interface |
Map.Entry
MAP의 엔트리 (키와 값의 페어)입니다. |
메소드의 개요 | |
void |
clear ()
MAP로부터 매핑을 모두 삭제합니다 (임의의 오퍼레이션). |
boolean |
containsKey (Object key)
지정된 키의 매핑이 MAP에 포함되어 있는 경우에 true 를 돌려줍니다. |
boolean |
containsValue (Object value)
MAP가, 지정된 값에 1 개 이상의 키를 매핑 하고 있는 경우에 true 를 돌려줍니다. |
Set |
entrySet ()
MAP에 포함되어 있는 매핑의 셋트뷰를 돌려줍니다. |
boolean |
equals (Object o)
지정된 오브젝트가 이 MAP와 동일한지 어떤지를 비교합니다. |
Object |
get (Object key)
MAP가 지정의 키를 MAP 하는 값을 돌려줍니다. |
int |
hashCode ()
MAP의 해시 코드치를 돌려줍니다. |
boolean |
isEmpty ()
MAP가 키와 값의 매핑을 보관 유지하지 않는 경우에 true 를 돌려줍니다. |
Set |
keySet ()
MAP에 포함되어 있는 키의 셋트뷰를 돌려줍니다. |
Object |
put (Object key,
Object value)
지정된 값과 지정된 키를 이 MAP에 관련짓습니다 (임의의 오퍼레이션). |
void |
putAll (Map t)
지정된 MAP의 모든 매핑을 이 MAP에 카피합니다 (임의의 오퍼레이션). |
Object |
remove (Object key)
이 키에 매핑이 있는 경우에, 그 매핑을 MAP로부터 삭제합니다 (임의의 오퍼레이션). |
int |
size ()
MAP내의 키와 값의 매핑의 수를 돌려줍니다. |
Collection |
values ()
MAP에 포함되어 있는 값의 코레크션뷰를 돌려줍니다. |
메소드의 상세 |
public int size()
public boolean isEmpty()
public boolean containsKey(Object key)
key
- MAP에 있을지 어떨지가 판정되는 키
ClassCastException
- 키가 MAP에 적합하지 않는 형태의 경우 (임의의 옵션)
NullPointerException
- 키가 null 때에, MAP가 null 키를 허가하지 않는 경우 (임의의 옵션)public boolean containsValue(Object value)
value
- MAP에 있을지 어떨지를 판정되는 값
ClassCastException
- 치가 MAP에 적합하지 않는 형태의 경우 (임의의 옵션)
NullPointerException
- 치가 null 때에, MAP가 null 치를 허가하지 않는 경우 (임의의 옵션)public Object get(Object key)
즉, MAP에 (key==null ? k==null : key.equals(k)) 라고 하는 조건으로, 키 k 로부터 값 v 까지 매핑이 포함되는 경우, 이 메소드는 v 를 돌려줍니다. 포함되지 않는 경우는 null 를 돌려줍니다. 이러한 매핑이 1 개만 있습니다.
key
- 관련지을 수 있었던 값이 돌려주어지는 키
ClassCastException
- 키가 MAP에 적합하지 않는 형태의 경우 (임의의 옵션)
NullPointerException
- 키가 null 때에, MAP가 null 키를 허가하지 않는 경우 (임의의 옵션)containsKey(Object)
public Object put(Object key, Object value)
m.containsKey(k)
가 true 를 돌려주는 경우에 한해, MAP m 는 키 k 의 매핑을 포함한다고 말할 수 있습니다.
key
- 지정되는 값을 관련지을 수 있는 키value
- 지정되는 키에 관련지을 수 있는 값
UnsupportedOperationException
- put 오퍼레이션이 MAP에 의해 서포트되어 있지 않은 경우
ClassCastException
- 지정된 키 또는 값의 클래스가 원인으로, MAP에 저장할 수 없는 경우
IllegalArgumentException
- 이 키 또는 값의 특성이 원인으로, MAP에 저장할 수 없는 경우
NullPointerException
- MAP가 null 키나 null 치를 허가하지 않을 때에, 지정된 키 또는 값이 null 의 경우public Object remove(Object key)
(key==null ? k==null : key.equals(k))
라고 하는 조건으로, 키 k 로부터 값 v 까지 매핑이 MAP에 포함되는 경우, 이 매핑은 삭제됩니다. MAP는 이러한 매핑을 1 개만 포함합니다.
키를 이전 관련짓고 있던 MAP의 값을 돌려줍니다. 이 키의 매핑이 MAP에 없는 경우는 null 를 돌려줍니다(null 의 반환값은 구현이 null 치를 서포트하고 있는 경우, MAP가 지정된 키와 null 를 이전 관련짓고 있던 것을 나타내는 경우도 있다). 1 번 호출이 돌아가면, MAP는 지정된 키의 매핑을 포함하지 않습니다.
key
- 매핑이 MAP로부터 삭제되는 키
ClassCastException
- 키가 MAP에 적합하지 않는 형태의 경우 (임의의 옵션)
NullPointerException
- 키가 null 때에, MAP가 null 키를 허가하지 않는 경우 (임의의 옵션)
UnsupportedOperationException
- MAP가 remove 메소드를 서포트하고 있지 않는 경우public void putAll(Map t)
put(k, v)
를 호출했을 경우와 같습니다. 지정된 MAP가 이 오퍼레이션의 처리중으로 변경되었을 경우, 그 오퍼레이션의 동작은 지정외가 됩니다.
t
- MAP에 저장되는 매핑
UnsupportedOperationException
- MAP가 putAll 메소드를 서포트하고 있지 않는 경우
ClassCastException
- 지정된 MAP내의 키 또는 값의 클래스가 원인으로, MAP에 저장할 수 없는 경우
IllegalArgumentException
- 지정된 MAP내의 키 또는 값의 특성이 원인으로, MAP에 저장할 수 없는 경우
NullPointerException
- 지정된 MAP가 null 인지 또는 이 MAP가 null 키나 null 치를 허가하지 않고 지정된 MAP에 null 키나 null 치가 포함되지 않는 경우public void clear()
UnsupportedOperationException
- clear 가 MAP에 의해 서포트되어 있지 않은 경우public Set keySet()
public Collection values()
public Set entrySet()
public boolean equals(Object o)
Object
내의 equals
o
- MAP와 동일한지 어떤지를 비교하는 오브젝트
public int hashCode()
Object
내의 hashCode
Map.Entry.hashCode()
,
Object.hashCode()
,
Object.equals(Object)
,
equals(Object)
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.