• Map


    java.util.Map
    和Collection最大的不同,就是它存储“键值对,映射关系”

    常用方法:
    1.添加
    put(key,value):一次添加一对映射关系
    putAll(Map map):一次添加多对映射关系
    this = this 并 map
    2.删除
    remove(Object key);根据key删除一对
    clear():清空
    3.修改
    通过put可以替换value,只要key相同,就会替换
    4.查询
    (1)containsKey(Object key):判断某个key是否存在
    (2)containsValue(Object value):判断某个value是否存在
    (3)V get(Object key):根据key获取value
    (4)boolean isEmpty():是否为空
    5.获取映射关系,键值对数:int size()
    6.遍历
    (1)Set keySet()
    (2)Collection values()
    (3)Set entrySet():由entry对象构成的set,因为key不重复,那么entry对象也不会重复。

    Map的实现类们:
    1.HashMap:哈希表
    2.HashTable:哈希表
    3.LinkedHashMap:
    它是HashMap的子类,比HashMap多维护了添加的顺序。
    4.TreeMap:映射关系的顺序会按照key的“大小”顺序排列。
    要求:映射关系的key,必须支持排序,即实现java.lang.Comparable接口,或者单独为TreeMap指定定制的比较器对象。
    5.Properties:
    (1)Properties是HashTable的子类
    (2)Properties的key和value的类型是String

    面试题:HashMap和HashTable的区别
    HashTable:最古老,线程安全的,它的key和value不允许为null。
    HashMap:相对新,线程不安全的,它的key和value允许为null。

    类同:StringBuffer和StringBuilder
    Vector和ArrayList

    Set的底层实现,内部实现
    HashSet:内部实现是HashMap
    添加(add)到HashSet的元素是作为HashMap的key,所有的value共享同一个Object类型的常量对象PRESENT。
    LinkedHashSet:内部实现是LinkedHashMap
    添加(add)到LinkedHashSet的元素是作为LinkedHashMap的key,所有的value共享同一个Object类型的常量对象PRESENT。
    TreeSet:内部实现是TreeMap
    添加(add)到TreeSet的元素是作为TreeMap的key,所有的value共享同一个Object类型的常量对象PRESENT。

  • 相关阅读:
    ExtJS面向对象
    简单理解Ext.DomQuery操作CSS3选择器
    简单理解Ext.extend
    Pycharm去掉项目所有 # 注释
    windows 杀死进程
    mongo官方企业版安装及数据库授权使用
    python中赋值,深拷贝,浅拷贝区别
    测试驱动开发简单理解
    Flask与WSGI
    Python直接改变实例化对象的列表属性的值 导致在flask中接口多次请求报错
  • 原文地址:https://www.cnblogs.com/1185937986-jili/p/12891625.html
Copyright © 2020-2023  润新知