Map
Map父接口
-
存储一对数据(key—Value),无序,无下标,建不可以重复,值可以重复。
-
方法
方法摘要 void
clear() 从此映射中移除所有映射关系(可选操作)。 boolean
containsKey(Object key)
如果此映射包含指定键的映射关系,则返回true
。boolean
containsValue(Object value)
如果此映射将一个或多个键映射到指定值,则返回true
。Set<Map.Entry<K,V>>
entrySet()
返回此映射中包含的映射关系的Set
视图。boolean
equals(Object o)
比较指定的对象与此映射是否相等。V
get(Object key)
返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回null
。int
hashCode()
返回此映射的哈希码值。boolean
isEmpty()
如果此映射未包含键-值映射关系,则返回true
。Set<K>
keySet()
返回此映射中包含的键的Set
视图。V
put(K key, V value)
将指定的值与此映射中的指定键关联(可选操作)。void
putAll(Map<? extends K,? extends V> m)
从指定映射中将所有映射关系复制到此映射中(可选操作)。V
remove(Object key)
如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。int
size()
返回此映射中的键-值映射关系数。Collection<V>
values()
返回此映射中包含的值的Collection
视图。
Map使用
/**
* map的使用
*/
public class map {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
//1.添加元素(插入键相同的元素时,值会进行覆盖)
map.put("China","中国");
map.put("USA","美国");
map.put("UK","英国");
map.put("UK","日不落帝国");
System.out.println(map);
//2.删除
map.remove("UK");
System.out.println(map);
//3遍历
//3.1.使用keySet
Set<String> ks = map.keySet();
for (String s:ks
) {
System.out.println(s + ":" + map.get(s));
}
//3.2.使用entrySet,返回值类型为Map.Entry(接口)类。
Set<Map.Entry<String,String>> ens = map.entrySet();
for (Map.Entry<String,String> mens : ens
) {
System.out.println(mens.getKey() + "----->" + mens.getValue());
}
//4.判断
System.out.println(map.containsKey("USA"));
System.out.println(map.containsValue("泰国"));
}
}
//输出结果:
{USA=美国, China=中国, UK=日不落帝国}
{USA=美国, China=中国}
USA:美国
China:中国
USA----->美国
China----->中国
true
false
-
补充:map.keySet()方法和map.entrySet()方法: