Java_总结十六(集合——Map接口——Map中常用的两个实现类HashMap、TreeMap)
一、Map 接口
实现Map接口的集合类用来存储"键-值"映射对
Map<K,V>接口中定义的一些常用方法:
--V put(K key, V value) //将指定的"键-值"对存入Map中
--V get(Object key); //返回指定键所映射的值
--V remove(Object key); //根据指定的键把此"键-值"对从Map中移除。
--boolean containsKey(Object key); //判断此Map是否包含指定键的"键-值"对。
--boolean containsValue(Object value);//判断此Map是否包含指定值的"键-值"对。
--boolean isEmpty(); //判断此Map中是否有元素。
--int size(); //获得些Map中"键-值"对的数量。
--void clear(); //清空Map中的所有"键-值"对。
--Set<K> keySet(); //返回此Map中包含的键的Set集。
--Collection<V> values(); //返回此Map中包含的值的Collection集。值是可重复的.
二、HashMap 集合类
--Map实现类中存储的"键-值"映射对是通过键来唯一标识,Map底层的"键"是用Set来存放的。
--所以存入HashMap中的映射对的"键"如果是自定义的类,应该重写hashCode()和equals()方法。 常用String作为Map的"键"。
类里面重写hashCode()和equals()方法,请参考HashSet 集合类(写法一样)
三、TreeMap 集合类
--TreeMap内部使用红黑树结构对"key"进行排序存放,所以放入TreeMap中的"key-value"对的"key"必须是"可排序"的。
--TreeMap(Comparator<? super K> comparator) 构造一个新的、空的树映射,该映射根据给定比较器进行排序。
类里面实现Comparable,请参考TreeSet 集合类(写法一样)