zoukankan      html  css  js  c++  java
  • HashMap与TreeMap的区别

    首先描述下什么是Map。
    在数组中我们是通过数组的下标来对其内容进行索引的,而在Map中我们是通过对象对对象进行索引的,用来索引的对象叫做key,其对应的对象叫做value。这就是我们平常说的键值对。
     

    HashMap通过hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。 

    两种常规Map性能 
    HashMap:适用于在Map中插入、删除和定位元素。 
    TreeMap:适用于按自然顺序或自定义顺序遍历键(key)。 

     
    举例TreeMap的顺序定义:
    TreeMap<File, Boolean> treeMap = new TreeMap<File, Boolean>(new Comparator<File>() {
                
                //重写这个比较器方法,来自定义我们key的排,默认是自然排序(一般是升序)
                @Override
                public int compare(File o1, File o2) {    //小于0升序,大于0降序
                     String code1 = getCompanyCode(o1);
                     String code2 = getCompanyCode(o2);
                     if (StringUtils.isEmpty(code1) || StringUtils.isEmpty(code2))
                          return code1.compareTo(code2);
                     else
                          return code1.compareTo(code2);
                    }
       });
    

      

  • 相关阅读:
    CRM SFA Determine the Type of Claim Rule Template to Use
    Log4j 打印堆栈信息
    树查找 二分法
    CRM 公海 领取规则 策略
    【设计模式】策略模式与状态模式
    Alibaba crm
    CRM easy rule & Resource Duplicate Detection
    CRM 线索分配
    SAAS CRM SFA 线索 分配
    SOFA & COLA 企业应用框架 & 代码精进
  • 原文地址:https://www.cnblogs.com/chenkaideng/p/5035218.html
Copyright © 2011-2022 走看看