Map介绍
Map用于保存具体映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的key,另外一组值用于保存Map里的value,key和value都可以是任意类型的数据。Map的key不允许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回false。
map接口定义了如下方法:
V put(K key,V value) -------------------->添加一个key-value对,如果当前map中已有一个与当前key相等的key-value对,
则新的key-value会覆盖原来的key-value对。
V remove(Object key) --------------------->删除指定的key所对应的key-value对,返回被删除key所关联的value,如果key不存在返回null
void clear() --------------------->删除该集合里的所有key-value对
boolean containsKey(Object key)----------->查询该集合里是否包含指定的key,如果包含返回true
boolean containsValue(Object value)------->查询该集合是否包含一个或多个value,如果包含返回true
boolean isEmpty() -------------------->查询该集合是否为空
int size() ------------------->查询该集合里的key-value对的个数
Set entrySet() ------------------->返回该集合中包含的key-value对所组成的set集合,每个集合元素都是map.entry(entry是map的内部类)对象
Set keyset() ------------------->返回该map中所有key组成的set集合
遍历map的两种方法:
方法一:在for-each循环中使用entry遍历map
Map<Integer ,Integer> map = new HashMap<Integer ,Integer> ;
for(Map.Entry<Integer ,Integer> entry : map.entrySet()){
System.out.println("Key = " + entry.getKey() + ","+ Value = " + entry.getValue());
}
方法二:在for-each循环中使用key或者value遍历
Map<Integer ,Integer> map = new HashMap<Integer ,Integer> ;
for(Integer key: map.keySet()){
System.out.println("Key = " + key +","+"Value = "+map.getKey());
}
for(Integer value : map.values){
System.out.println("Vulue="+value);
}