Map 集合

  • Map集合** 继承关系**

       <interface>:   Map(接口)<---HashMap(class)/HashTable(class)/SortedMap(子接口)
    
                      Map(接口)<---HashTable(class)<---Properties(class)
    
     	 Map(接口)<---SortedMap(子接口)<---TreeMap(类)

- Map 和  Collection 没有关系,Map是顶级父接口,不继承任何接口。

- Map接口下包含: HashMap 和 HashTable 两个类, 和 SortedMap 接口

- Map下的 HashMap(class)中的key需要重写HashCode和equals方法,HashMap中的 key 等同于一个Set集合

- Map下的 SortedMap(子接口) 继承了Map(接口),SortedMap中的key的特点是无序不可重复,但是可以按照元素的大小自动排序,等同于SortedSet。

- Map下的 SortedMap(子接口)<---TreeMap(类),TreeMap(类)是SortedMap(子接口)下的一个类,TreeMap(类)的key就是一个 TreeSet,TreeMap中的key需要实现(Implement)Comparable接口或者单独写一个比较器
(Comparator)。 - HashTable 是线程安全的 但是效率低,HashTable中又包含Properties属性类。 - Properties类 是 HashTable类下的一个子类,继承了HashTable,也是采用键值对< Key , Value >的方式存储元素的,但是其中的key和Value只能的字符串类型 - Map集合的作用:和查字典类似,通过key找到对应的value,通过页数找到对应的信息。也像我们手机的电话本,姓名对应着电话号码,用学生类来说,key相当于学号,value对应name,age,sex等信息。用这种对应关系方便
查找。

Day09_47_Map的更多相关文章

随机推荐

  1. js中this指向的问题与联系

    前言 JavaScript 中最大的一个安全问题,也是最令人困惑的一个问题,就是在某些情况下this的值是如何确定的.有js基础的同学面对这个问题基本可以想到:this的指向和函数调用的方式相关.这当 ...

  2. 微信小程序登录流程解析

    小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识openid,快速建立小程序内的用户体系. 登录流程时序: 1.首先,调用 wx.login获取code ,判断用户是否授权读取用户 ...

  3. ThreadPoolExecutor中execute和submit的区别

    1:入参不同 excute() 传入的是 Runable, submit 传入的是 Callable 或 Runable 1):execute 方法源码 public void execute(Run ...

  4. SpringBoot2.1中添加过滤器配置

    1:构造一个实现 Filter 接口的过滤器,并在类上添加@component注释: notice1:若不添加,则需在spring中注入该bean,不然会报错. package com.dev.fil ...

  5. vmware-install.pl 如何安装?

    首先在虚拟机上安装vnware-tools工具,如图(工具为vmware workstation):  成功   但是系统屏幕大小并没有适应虚拟机,所以下边这行提示很重要. 打开左侧边栏的VMware ...

  6. Dos常用命令整理

    Dos常用命令整理 打开cmd的方法 开始菜单 -> 系统 -> 命令提示符 组合键Win+R打开运行 -> 输入cmd 在任意文件夹下Shift+鼠标右键 -> 在此处打开命 ...

  7. 微信小程序onReachBottom第二次失效

    当整个页面就是一个view包着一个轮播.一个横向scroll-view和一个纵向scroll-view onReachBottom方法只执行一次 解决方法:

  8. 设计模式之抽象工厂模式(Abstract Factory Pattern)

    一.抽象工厂模式的由来 抽象工厂模式,最开始是为了解决操作系统按钮和窗体风格,而产生的一种设计模式.例如:在windows系统中,我们要用windows设定的按钮和窗体,当我们切换Linux系统时,要 ...

  9. 进阶Java多线程

    一.多线程创建方式 1.1.继承Thread类创建线程类 1.实现步骤 定义一个继承Thread类的子类,并重写该类的run()方法: 创建Thread子类的实例,即创建了线程对象: 调用该线程对象的 ...

  10. JS获取时间日期常用方法

    1 当前时间: new Date() 2 当前周: function getCurrentWeek() { var date = new Date() var beginDate = new Date ...