Map
Map:<Key,Value> 已键值对的形式存在的一种集合,键和值不存在同一个地方
常用方法:
put(Key,Value)
添加数据 *HashMap 的键和值可以存入NULL,Hashtable、TreeMap、LinkedHashMap不可为NULL,会抛NULL异常,遇到相同的键的时候,后面存入的键对应的值会覆盖掉前面键对应的值 例如: put(1,“张三”),put(1,“李四”) 输出结果: 1,李四,存入的时候是无序的,但取值打印时,会自动排序。
- size():获取所有键值对的数量
- remove(Key): 通过键,删除键和Value
- containsKey(Key):判断键是否存在 返回为true和false
- containsValue(Value):判断Value 是否存在 返回为true和false
- isEmpty():判断该Map是否空,返回true和false
Map<Integer, String> map = new HashMap<>();
//遍历循环取值的方式:
Collection方式遍历取Value值
Collection<String> ss = map.values();
for (String s : ss) {
System.out.println(s);
}
//迭代器循环取值:
//取到Key,
Set<Integer> keyst = map.keySet();
//迭代器循环取key和value
Iterator<Integer> it = keyst.iterator();
while (it.hasNext()) {
Integer key = it.next();
String value = map.get(key);
System.out.println("key:" + key + "--value:" + value);
}
//foreach 循环取key和value
for (Integer key : keyst) {
System.out.println("key:" + key + "---value:" + map.get(key));
}
Entry(key类型,vaule类型)遍历取值
Set<Map.Entry<Integer, String>> entrySet = map.entrySet();
Iterator<Map.Entry<Integer, String>> it2 = entrySet.iterator();
while (it2.hasNext()) {
Map.Entry<Integer, String> node = it2.next();
Integer key = node.getKey();
String value = node.getValue();
System.out.println(key + "=" + value);
}
//foreach 循环取key和value
for (Map.Entry<Integer, String> it3:entrySet){
System.out.println("Key"+it3.getKey()+"---->"+"Value"+it3.getValue());
}