Map接口特点

Map接口和常用方法

Map接口实现类的特点

注意:是JDK8的Map接口特点

  1. Map与Collection并列存在。用于保存具有映射关系的数据:Key-Value
  2. Map中的 key 和 value可以是任何引用类型的数据,会封装到HashMap$Node对象中
  3. Map中的key 不允许重复,原因和HashSet一样,前面分析过源码.
  4. Map 中的value可以重复
  5. Map 的key 可以为null, value也可以为null,注意key为null,只能有一个,value为null ,可以多个.
  6. 常用String类作为Map的key
  7. key和 value之间存在单向一对一关系,即通过指定的key 总能找到对应的 value
  8. Map存放数据的key-value示意图,一对k-v是放在一个Node中的,又因为Node实现了 Entry 接口,有些书上也说一对k-v就是一个Entry(如图)
    Map接口特点
import java.util.HashMap;
import java.util.Map;

public class Map_ {
    public static void main(String[] args) {
        //接口实现类的特点,使用实现类HaspHap
        //1.Map与Collection并列存在。用于保存具有映射关系的数据:Key-Value(双列元素)
        //2.Map中的 key 和 value可以是任何引用类型的数据,会封装到HashMap$Node对象中
        //3.Map中的key 不允许重复,**原因和HashSet一样,前面分析过源码.**
        //4.Map 中的value可以重复
        //5.Map 的key 可以为null, value也可以为null,注意key为null,只能有一个,value为null ,可以多个.
        //6.常用String类作为Map的key
        Map map = new HashMap();

        map.put("no1", "test1");//k-v
        map.put("no2", "test2");//k-v
        map.put("no1", "test3");//当有相同的k,就等价于替换。
        map.put("no3", "test3");//k-v
        map.put(null, null);//k-v
        map.put(null, "abc");//等价替换
        map.put("no4", null);//k-v
        map.put("no5", null);//k-v
        map.put(1, "test4");//k-v
        map.put(new Object(), "test5");//k-v

        //通过get方法,传入key,会返回对应的value
        System.out.println(map.get("no2"));//test2

        System.out.println("map = " + map);
    }
}
上一篇:Map接口中定义的方法


下一篇:python数据之间的转换