Day18 -集合-Map 2015/04/28 1、Map集合 最大的优点是体现了对应关系。 Map是一个键值对形式的集合,它的数据不再是单个的,必须同时有键和值组成。 Map和collection的区别: Map:是(键值对)双列形式的集合,键必须是唯一,不能重复,值是可以重复的; Collection:是单列值得集合, Map集合中的具体实现类的数据结构是针对键有效的。 Map接口功能: A:增加功能 V put(K key,V value):当key在集合中不存在时,添加元素;当key在集合存在时候,替换元素。 B:删除功能 void clear():清除所有键值对数据。 V remove(Object key):根据指定的键删除键值对。 C:判断功能 boolean containsKey(Object key):判断指定的键是否在集合中存在 boolean containsValue(Object vlaue):判断指定的值是否在集合中存在 boolean isEmpty():判断集合是否为空 D:获取功能 Set<Map.Entry<K,V>> entrySet():键值对对象的集合。 Object get(Object key):根据键获取值 Set<K> keySet():所有键的集合 Collection<V> values():所有值的集合 E:长度功能 int size() Map集合的遍历: 方式1:(利用键找值) (1)把所有的键集中起来。Set<K> keySet()。 (2)遍历键集合,获取每个键。用迭代器或者增强for。 (3)利用键找值。Get(object key)。 方式2:(键值对) (1)获取所有键值对集合。Set<键值对> entrySet()。 (2)遍历键值对集合,获取每个键值对。用迭代器或者曾强foe。 (3)通过键值对对象获取键和值。 2、HashMap和Hashtable的区别(面试题) Hashtable是线程安全的,效率低;不允许null键和值。 HashMap是线程不安全的,效率高;允许null键和值。 3、统计字符串中字母出现的次数(面试题)
|