zoukankan      html  css  js  c++  java
  • 集合(Map)

    Map接口的常用实现类:HashMap、TreeMap、Properties

    HashMap

    HashMap是使用频率最高的实现类

    允许使用null键和null值,与HashSet一样,不保证映射的顺序

    HashMap判断像个key相等的标准是:两个key通过equals方法返回true,hashCode值也相等

    HashMap判断两个value相等的标准是:两个value通过equals方法返回true  

    LinkedHashMap

    LinkedHashMap是HashMap的子类,与linkedHashSet一致,linkedHashMap可以维护map的迭代顺序,迭代顺序与key-value插入的顺序一致

    TreeMap

    TreeMap存储key-value对的时候,需要根据key-value对进行排序,treemap可以保证所有的key-value对处于有序状态

    TreeMap的key排序:

    自然排序:TreeMap的所有key实现Comparable接口,而且所有的key都是同一个类的对象,否则会抛出异常

    定制排序:创建TreeMap的时候,传入一个Comparator对象,该对象负载对TreeMap的所有的key进行排序,此时不需要Map实现Comparable接口

    TreeMap判断两个key相等的标准:两个key通过compareTo方法或者compare()方法返回0

    若使用自定义的类作为TreeMap的key,所属类需要重写equals、hasCode方法,并且equals返回true,hasCode返回0

    Hashtable

    线程安全,不允许使用null作为key和value,不能保证key-value的顺序,判断key、value是否相同的方法与HashMap一致

     

    Properties

    Hashtable的子类,用于处理属性文件

    Properties pros = new Properties();
    pros.load(new FileInputStream("jdbc.properties"));
    String user = pros.getProperty("user");
    System.out.println(user);
  • 相关阅读:
    java后台svg转成png
    Itext2.0.8 和freemarker导出pdf
    使用freemarker生成word、html时图片显示问题
    ITEXT5 Font 'd:SIMSUN.TTC' with 'Identity-H' is not recognized.
    IntelliJ Idea 2017 免费激活方法
    MySQL 索引
    怎样使用nat和桥接方式解决虚拟机联网问题
    【Linux】NAT模式下关于主机ping不通虚拟机的问题
    同一台服务器(电脑)运行多个Tomcat
    [shell基础]——cut命令
  • 原文地址:https://www.cnblogs.com/lzb0803/p/9002067.html
Copyright © 2011-2022 走看看