遍历Map集合
方式一: 根据键找值
获取所有的键的集合 map。KeySet( )
遍历键的集合,获取每一个键,(使用增强for遍历)
根据键找值map.get(Key)
方式二: 根据键值对像找键和值
获取所有的键值对对象的集合map.entrySet();
遍历键值对对象的集合,获取每一个键值对对象(增强for)
根据键值对对象找键和值 getKey( );GetValue( );
HashMap、LinkedHashMap、TreeMap
HashMap : 基于哈希表的Map接口实现
由哈希表来保证唯一性
LinkedHashMap : 是map接口的哈希表和链接列表实现,具有可预告的迭代顺序
由哈希表保证键的唯一性,链表保证有序(取出和存储的顺序一致)
TreeMap : 键是基于红黑树的Map接口实现,可以保证键的有序和唯一性
小的往左放,大的往右放,相同的就不理会
HashMap和Hashtable的区别
Hashtable: 线程安全,效率低。不允许null键、null值
HashMap : 线程不安全,效率高,允许null键和null值
特点
将键映射到值对象,一个映射不能包含重复的键;每个键最多只能映射到一个值
List 、set继承自Collection接口、Map本身就是个顶层接口
基础功能
添加功能
V put ( K key,V value )
如果第一存储,就直接存储
如果不是第一次存储,替换之前的值,并返回被替换的值
删除功能
void clear(); 移除所有元素
V remove ( Object key ) ; 根据键值删除对应的元素,并返回值
判断功能
boolean containsKey ( Object key); 判断集合是否包含指定的键
boolean containsKey ( Object value); 判断集合是否包含指定的值
boolean isEmpty (); 判断集合是否为空
获取功能
Set <Map.Entry<K,V>>entrySet();
V get ( Object Key ) 根据键获取对应的值
Set<K>KeySet();获取集合中所有值得集合
Collection <V> values(); 获取集合中所有值得集合
长度功能
int size(); 返回集合中的键值对的对数