Java之Map接口

    Map 集合是用来存储 “键(K)-(V)”映射对的集合。它是一个接口。它的实现类中,存储“键(K)-(V)”映射对是经过键来惟一标识,Map 底层的“键(K)”是用Set来存放的。因此自定义的类,存放在Map的实现类中,须要重写hashCode equals 方法。java

      经常使用的实现类:HashMapTreeMapHashTable安全

HashMapHashTableTreeMap的区别:ide

HashMap1、线程不安全的,不一样步的测试

2、能最多存储一个null键,任意多个nullspa

3、有containsKey(),containsValue()方法,没有contains() 方法线程

3、继承AbstractMap<K,V>指针

Hashtable1、线程安全的,同步的。对象

2、不能有null也不能有null,不然运行时出空指针异常;继承

3基于陈旧的Dictionary<K,V> ,contains() 方法,用于测试此映射表中是否存在指定值,等同于HashMap类中的containsValue()(本类中也有)接口

TreeMap:线程不安全的,不一样步的。存入的元素的Key,必须是“可比较的”,由于它的key底层使用TreeSet来实现的,即存入的元素必须实现java.lang.Comparable<T>接口,或者是在建立TreeMap对象是指定一个实现java.util.Comparator<T>接口比较器。参考文档JDK API 1.6

Map接口中定义的方法(只列举经常使用的):

booleancontainsKey(Object key):判断集合Key中是否包含传入的key.

booleancontainsValue(Object value): 判断集合value中是否包含传入的value值。

V get(Object key):根据key获得指定的值。

boolean isEmpty():判断集合是否为空。

V put(K key, Vvalue):将键-值对存入集合中,返回的是value类型的旧值。若是原先没有值,会返回null

V remove(Objectkey):删除指定的键-值对

int size():返回集合的大小。

void clear():清空集合中的所用内容。

Set<K> keySet();//返回Key的集合,用于遍历Map集合。

相关文章
相关标签/搜索