본문 바로가기

Java Programming

Java API : Interface Map<K,V>

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

java.util


Interface Map<K,V>


All Known Subinterfaces:

   ConcurrentMap<K,V>, SortedMap<K,V>


All Known Implementing Classes:

   AbstractMap, Attributes, AuthProvider, ConcurrentHashMap, EnumMap, HashMap, Hashtable, IdentityHashMap, LinkedHashMap, PrinterStateReasons, Properties, Provider, RenderingHints, TabularDataSupport, TreeMap, UIDefaults, WeakHashMap


public interface Map<K,V>


key값에 해당하는 value를 나타내는 object이다. map 은 중복된 킷값을 가질수 없다. 각 키는 각각 하나의 키값만을 나타내야한다.


이 인터페이스는 interface가 아닌 완전한 abstract class 인 Dictionary  클래스를 대체한다.


Map 인터페이스는 세가지 view들의 collection을 맵들의 내용을 허가한다. a set of keys, collection of values, or set of key-value mappings. 맵의 순서는 iterator의 순서대로 맵들의 collection view들에서 그들의 element들을 반환하도록 정의 된다. TreeMap class 같은 구현된 어떤 맵들은 그 순서대로 특별한 보증을 만든다, 반면에 HashMap class같은 경우는 그렇지 않다.


설명 : 만약에 변하기 쉬운 object 들이 Map의 Key로 이용되면 활동되어야 한다. Object가 Map의 key인 동안 Map의 행동은 특별하지 않다. 만약 object의 같은 비교에 영향을 받는 방식에서 값이 바뀌는 경우 지정되지 않는다. 이 금지의 특별한 예는 Map이 Key를 포함하는 것을 허용하지 않는다. Map이 Value를 포함하는 것이 허용되는 동안, 최대한의 주의가 요구된다: equals 와 hashCode method들은 더 이상 map과 같은 규정을 짓지 않는다.


모든 다목적의 map을 구현한 class들은 두가지 표준된 생성자를 제공해야 한다: 빈 map을 생성하는void(argument가 없는) 생성자와 Map의 type에 맞는 새로운 맵을 생성하고 한가지의 key 값에 맞는 value를 매핑하는 argument를 가지는 생성자. 사실상 후자의 생성자는 어떤 class가 요구하는 동등한 맵을 생성 map을 복사하는 사용자를 허가한다. 이 추천을 강요하는 방법은 없다 (인터페이스들이 생성자를 포함할수 없기 때문에) 그러나 다목적의 map을 구현한 JDK 내부의 클래스들은 따른다.