Map集合概念
Map集合也被叫做“键值对集合”,格式:{key1=value1,key2=value2, key3=value3, ... }(key是键,value是值)
Map集合的所有键是不允许重复的,但值可以重复,键和值是一一对应的,每一个键只能找到自己对应的值
Map集合的应用场景
需要存储一一对应的数据时,就可以考虑使用Map集合来做
Map集合的实现类有哪些?各自的特点是?
HashMap:元素按照键是无序 , 不重复(判断键是否重复,是的话,后添加的覆盖先添加的,值无关紧要),无索引,值不做要求,可以重复。键值对都可以是null
LinkedHashMap: 有序,不重复,无索引。值不做要求,可以重复。键值对都可以是null
TreeMap:元素按照建是排序,不重复,无索引的,值不做要求。
package com.itheima.demo2map;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
public class MapDemo1 {
public static void main(String[] args) {
//目标:认识Map集合的体系特点
//1、创建Map集合
//Map/HashMap特点:无序,不重复(判断键是否重复,是的话,后添加的覆盖先添加的,值无关紧要),无索引。值不做要求,可以重复。键值对都可以是null
//LinkedHashMap: 有序,不重复,无索引。值不做要求,可以重复。键值对都可以是null
//TreeMap: 按照键可排序,不重复,无索引。
// Map<String,Integer> map = new HashMap<>();
Map<String,Integer> map = new LinkedHashMap<>();
map.put("嫦娥",20);
map.put("女儿国王",31);
map.put("嫦娥",28);
map.put("铁扇公主",38);
map.put("紫霞",31);
map.put(null,null);
System.out.println(map);//{null=null, 嫦娥=28, 女儿国王=31, 紫霞=31, 铁扇公主=38}
}
}