JavaSE类集框架的完整结构2

三、Map<K,V>接口

Map<K,V>接口中的元素是按照keyàvalue的形式保存。

Map<K,V>接口的子接口有:直接子接口SortedMap<K,V>和间接子接口NavigableMap<K,V>

 

Map接口的子类:AbstractMap<K,V>HashMap<K,V>Hashtable<K,V>Properties<Object,Object>

Map接口的间接子类:TreeMap<K,V>EnumMap<K extends Enum<K>,V>

 

HashMap<K,V>HashTable<K,V>的区别:

(1) HashMap<K,V> JDK 1.2之后推出的新的操作类,而HashTable<K,V>JDK 1.0时就推出的旧的操作类

(2) HashMap<K,V>采用异步处理,性能较高,但属于非线程安全,而HashTable<K,V>采用同步处理,性能较低,但属于线程安全

(3) HashMap<K,V>的元素允许null值,而HashTable<K,V>的元素不允许null值,否则将出现空指向异常

 

TreeMap子类是允许元素按照key进行排序的操作子类,并且key中的内容可以为任意的对象,但是要求对象所在的类必须实现Comparable接口。

 

Map集合的输出:

步骤:

(1)使用Map接口中的entrySet()方法将Map接口的全部内容变为Set集合

(2)     可以使用Set接口中定义的iterator()方法为Iterator接口进行实例化

实例化方法:用Set<E>(继承Collection接口)的public Iterator<E> iterator()方法

(3)     之后使用Iterator接口对象的方法进行迭代输出,每一次的迭代都可以取得一个Map.Entry的实例

(1).boolean hasNext()

(2).E next()

(4)通过Map.Entry进行keyvalue的分离

Map.Entry接口的分离方法:

(1)K getKey()    

(2)V getValue()



 

你可能感兴趣的:(jdk,框架)