Map集合
Interface Map<K,V> key 键 value 值
双边队列
存的是键值对的数据
001===>张三
002====》李四
将键映射到值的对象。 地图不能包含重复的键; 每个键可以映射到最多一个值。
这个接口取代了`Dictionary`类,它是一个完全抽象的类而不是接口。
Map接口下面 已经封装好实现类
--|HashMap
--|TreeMap
Map接口下面的方法
增:
V put(K key, V value)
将指定的值与该映射中的指定键相关联(可选操作)。
void putAll(Map<? extends K,? extends V> m)
将指定地图的所有映射复制到此映射(可选操作)。
删:
V remove(K key); 通过键删除指定的值 返回值是被删除的值
改:
V put(K key, V value) 当键没有的话,就是添加,没有的话,就是覆盖
查:
int size(); 查看集合中的元素的个数
boolean isEmpty(); 判断集合是否为空
boolean containsKey(Obejct Key); 判断集合中是否包含这个键
boolean containsValue(Obejct value); 判断集合中是否包含这个值
重要的方法:
V get(K key); 通过键获取值
Set<K> keySet() 获取所有的键存到set集合中
Collection<V> values() 获取所有集合中的值
package com.qf.b_map;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Demo1 {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("001", "老邢");//ctrl + d
map.put("002", "骚磊");
map.put("003", "狗蛋");
System.out.println(map);
//{001=老邢, 002=骚磊, 003=狗蛋}
//001=老邢 就叫键值对
Map<String, String> map1 = new HashMap<>();
map1.put("004", "恩东");//ctrl + d
map1.put("005", "老万");
map1.put("006", "阳仔");
System.out.println(map1);
map.putAll(map1);
System.out.println(map);//{001=老邢, 002=骚磊, 003=狗蛋, 004=恩东, 005=老万, 006=阳仔}
// Map<Integer, String> map2 = new HashMap<>();
// map2.put(4, "恩东");//ctrl + d
// map2.put(5, "老万");
// map.putAll(map2);
System.out.println(map.remove("003"));
System.out.println(map);//{001=老邢, 002=骚磊, 004=恩东, 005=老万, 006=阳仔}
System.out.println(map.put("005", "老实巴交的老万"));
System.out.println(map);//{001=老邢, 002=骚磊, 004=恩东, 005=老实巴交的老万, 006=阳仔}
System.out.println(map.size());//5
System.out.println(map.isEmpty());//false
System.out.println(map.containsKey("003"));//false
System.out.println(map.containsKey("004"));//true
System.out.println(map.containsValue("老邢"));//true
System.out.println(map.get("001"));//老邢
Set<String> strings = map.keySet();
//返回值是nset 键是不可重复的 所以将键存到set集合中
System.out.println(strings);
Collection<String> values = map.values();
System.out.println(values);
Set<Map.Entry<String, String>> entries = map.entrySet();
System.out.println(entries);
//使用增强for循环 iter快捷键
for (Map.Entry<String, String> entry : entries) {
System.out.println(entry);//001=老邢 键值对对象
System.out.println(entry.getKey());//获取的键
System.out.println(entry.getValue());//获取值
System.out.println("=====");
}
}
}