Java中Map接口和其常用子类

Posted crush-u-1214

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中Map接口和其常用子类相关的知识,希望对你有一定的参考价值。

  一、Map接口常用方法

  • public V put(K key,V value):向集合中保存数据;
  • public V get(Object key):根据key查找对应的value数据;
  • public Set<K> keySet():取出全部的key,返回一个set集合;
  • public Set<Map.Entry<K,V>> entrySet():将Map集合转化为set集合;

  二、常用子类

    1、public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable

      是JDK1.2时推出的,基于哈希表实现的映射接口。此实现提供所有可选映射操作,并允许空值和空键。采用异步处理,非线程安全。该类不保证映射的顺序;特别是,它不能保证顺序会随着时间保持不变。

    2、public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, Serializable

      是JDK1.0时推出的,这个类实现了一个哈希表,它将键映射到值。任何非空对象都可以用作键或值(不允许空值和空键)。采用同步处理,线程安全。

    3、public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>

      哈希表和链表实现了Map接口,具有可预测的迭代顺序。这个实现与HashMap的不同之处在于,它维护一个运行于所有条目中的双链表。这个链表定义了迭代顺序,这通常是键插入到映射中的顺序(插入顺序)。注意,如果一个键被重新插入到映射中,插入顺序不会受到影响。

    4、public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, Serializable

      一个基于红黑树的NavigableMap实现。映射是根据其键的自然顺序排序的,或者由在创建映射时提供的比较器进行排序,这取决于使用的是哪个构造函数。

  三、使用情况

    当要实现插入、删除、查询时,使用HashMap;当要实现按(自然、自定义)顺序遍历时,使用TreeMap;当要实现按输入输出顺序遍历时,使用LinkedHashMap。

 

以上是关于Java中Map接口和其常用子类的主要内容,如果未能解决你的问题,请参考以下文章

Java集合---Map

JAVA-初步认识-常用对象API(集合框架-Map集合常见子类对象)

List Set Map

java-集合小结

java集合类

JAVA-初步认识-常用对象API(集合框架-List常用子类的特点)