Map集合是一种双列集合,每个元素包含两个数据
Map集合的每个元素的格式:key=value(键值对元素)。
Map中使用最多的集合是HashMap
键不可重复,值可重复
- Map集合的特点都是由键决定的
- Map集合的键是无序,不重复的,无索引,值不做要求(可以重复).
- Map集合后面重复的键对应的值会覆盖前面重复键的值。
- Map集合的键值对都可以为null
Map集合实现类的特点 - HashMap:元素按照键是无序,不重复,无索引,值不做要求(与Map体系一致)
//1.创建一个Map集合对象,重复的元素会更新
//使用HashMap无序
Map<String,Integer> maps=new HashMap<>();
//LinkHashMap有序
//Map<String,Integer> maps=new LinkedHashMap<>();
maps.put("鸿星尔克",2);
maps.put("数据结构",9);
maps.put("java",3);
maps.put("数据结构",2);
maps.put("null",null);
System.out.println(maps);//{java=3, null=null, 鸿星尔克=2, 数据结构=2}
//2.清空集合
// maps.clear();
// System.out.println(maps);//{}
//3.判断集合是否为空,为空返回true,反之
System.out.println(maps.isEmpty());
//4.根据键获取对应值:public V get(Object key)
Integer key= maps.get("鸿星尔克");//没有对应的键时取出来的值是null
System.out.println(key);
//5.根据键删除整个元素(删除键会返回键值)
maps.remove("java");
//6.判断是否包含某个键,包含返回true,反之
System.out.println(maps.containsKey("数据结构"));//true
//7.判断是否包含某个值
System.out.println(maps.containsValue(100));//false
//8.获取全部键的集合 public Set<k> keySet()
Set<String> keys=maps.keySet();
System.out.println(keys);
//9.获取全部的集合 Collection<V> values();
Collection<Integer> values=maps.values();
System.out.println(values);
//10.集合的大小
System.out.println(maps.size());
//11/合并其他Map集合(拓展)
Map<String,Integer> map1=new HashMap<>();
map1.put("java1",1);
Map<String,Integer> map2=new HashMap<>();
map2.put("java1",20);
map2.put("Python",90);
map1.putAll(map2);
System.out.println(map1);//map2,会覆盖map2对应键的值