Map 泛型
Map
概述
map保存键值对K V
无序key不可重复value可重复
map和集合不一样,基本操作差不多,map用来保存映射关系,比如商品,商品名产地,单价等属性,但是购买属性不是商品的属性,放到商品类里不合适,使用Map的value储存购买数量k做伤品比较合适
或者做一些统计操作比如字符串"jhbiyyvdcgcvyvyvyew"统计每个字符出现的次数,字符为k次数为V
常用方法
HashMap
import java.util.HashMap;
public class HashMap_01_ {
public static void main (String[]args){
HashMap map = new HashMap();
//1.调用key的hashCode(),生成hash值
//2.根据hash值算出索引
//3.如果该索引位置没有数据,就直接添加进去
//4.如果该索引对应的位置有数据,就调用key的equals方法,作比较
//5.如果都不相同,并且value值替换原来的value
map.put(1, 2);
map.put(2, 3);
map.put("uuyg", "h8u8");
map.put(0, 3);
map.put(1, 9);
map.put("uuyag", "h8u08");
System.out.println(map);
System.out.println(map.size());//5//9替换了2
//是否包含某个key
System.out.println(map.containsKey(1));
//是否包含某个value
System.out.println(map.containsValue(3));
//根据key获取value
System.out.println(map.get(1));//9替换了2
System.out.println(map.getOrDefault(5, "找不到数据"));//根据key获取value找不到返回默认值
//根据key删除对应的键值对,并且返回值是对应的value
//map.remove(0);//没数据他也不会报错
System.out.println(map.remove(0))