先看一段Java代码。

package com.m58.test;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class Test {

public static void main(String[] args) {

HashMap map = new HashMap();

map.put(1,"oa1");

map.put(3,"oa3");//故意不按顺序放入

map.put(2,"oa2");

map.put(4,"oa4");

List list = new ArrayList();

for(Map.Entry entry : map.entrySet()){

System.out.println("entry.getKey.hash:" + entry.getKey().hashCode());

list.add(entry.getValue());

}

System.out.println(list);

}

}

看一下输出

entry.getKey.hash:1

entry.getKey.hash:2

entry.getKey.hash:3

entry.getKey.hash:4

[oa1, oa2, oa3, oa4]

看到了没,打印出来居然是按照key(数字)进行排序的。当然这个有顺序不是指插入顺序,而是指key的顺序。这样就产生一个问题,Java是如何在HashMap内部进行排序的,它怎么知道一堆散列表的数据,塞到一个看似按照数字从小到大进行排序的呢,百度后我们发现,HashMap就是按照HashCode编码进行从小到大的排序,这样就说的通了。1的hash值是1,2的哈希值是2,只要把key设置为数字,于是就按照从小到大去排序咯。

@落雨 2015年10月24日01:06:22

http://ae6623.cn

hashmap java 排序_Java HashMap 默认排序相关推荐

  1. hashmap java 便利_java HashMap 循环遍历map的方法

    java HashMap 循环遍历map的方法(转) import java.util.ArrayList; import java.util.HashMap; import java.util.It ...

  2. java 对象自定义排序_java – 使用自定义排序顺序对对象的ArrayL...

    这是一个关于订购对象的教程: 虽然我会给出一些例子,但我仍然建议你阅读它. 有多种方法可以对ArrayList进行排序.如果你想定义一个自然(默认)排序,那么你需要让联系人实现Comparable.假 ...

  3. java位图_Java 位图法排序的使用方法

    java JDK里面容器类的排序算法使用的主要是插入排序和归并排序,可能不同版本的实现有所不同,关键代码如下: /** * Performs a sort on the section of the ...

  4. linux hashmap,Java中对HashMap的深度分析与比较

    Java中对HashMap的深度分析与比较 在Java的世界里,无论类还是各种数据,其结构的处理是整个程序的逻辑以及性能的关键.由于本人接触了一个有关性能与逻辑同时并存的问题,于是就开始研究这方面的问 ...

  5. java中hashmap_Java HashMap – Java中的HashMap

    java中hashmap Java HashMap is one of the most popular Collection classes in java. Java HashMap is Has ...

  6. hashmap put方法_Java HashMap put()方法与示例

    hashmap put方法 HashMap类的put()方法 (HashMap Class put() method) put() method is available in java.util p ...

  7. python面试 hashmap是什么_Java HashMap与Hashtable的区别是什么?

    成为入门级的认证专业,最常被问到的面试问题之一是关于Java HashMap和Hashtable.因此,您必须完全准备好回答任何与HashMap或Hashtable相关的问题.Java利用HashMa ...

  8. java解码_Java数组已排序解码

    java解码 排序是我们在计算机科学中学习的第一个算法. 排序是一个非常有趣的领域,它有大约20多种算法,而且总是很难确定哪种算法最好. 排序算法的效率是根据占用的时间和所需的空间来衡量的. 一些时间 ...

  9. java的字典序排序_java实现字典序排序

    2.编一个程序,定义一个字符串数组,输入若干国家名称(所有名称全用大 写或者全用小写),设计一个算法按字典顺序将这些国家名称进行排序. 3.编写一个程序,实现...... 2.编一个程序,定义一个字符 ...

  10. java set排序_Java Set元素 排序

    Set排序 set包括HashSet和TreeSet,HashSet是基于HashMap的,TreeSet是基于TreeMap的. TreeMap是用红黑树实现,天然就具有排序功能,"天然就 ...

最新文章

  1. 雷林鹏分享:MySQL 及 SQL 注入
  2. 如何让Git适应敏捷开发流程?
  3. RepositionBars的用法和参数分析
  4. 事件选择WSAEventSelect
  5. 992. Sort Array By Parity II - LeetCode
  6. 什么时候应该避免注释代码?
  7. go语言环境搭建及vim高亮设置
  8. cmd 终端快速查看自己的ip地址
  9. 产品读书《About Face 3交互设计精髓》
  10. 体育专业国培计算机感言,计算机国培心得体会.doc
  11. 同学聚会幽默 , 小学生搞笑图片
  12. matlab 自写iradon,MATLAB 常用图像处理源码合集
  13. 外贸常用术语_外贸常用术语大全-
  14. SVN clean up 报错
  15. 西湖论剑2020-BrokenSystems
  16. 【C基础练习题】Week9:凯撒密码 | 按空格切分字符串 | 单词折半拆分
  17. 为网站配置免费的HTTPS证书 3-4
  18. Python_封装案例(小明爱跑步)
  19. redis的redis.config文件配置与内容+10.30日之前的总结
  20. SpringBoot报错o.s.b.d.LoggingFailureAnalysisReporter

热门文章

  1. 《React小书》终结笔记
  2. 机器人操作系统二 ROS2:设计、架构和野外使用 - 机器翻译
  3. 【python实战】23个爬虫项目源码:微信、淘宝、知乎、微博...
  4. linux的常用的安装命令
  5. 关于在Ubuntu中更新pip时遇到的问题及解决方法
  6. golang语言环境搭建
  7. ISSCC 2017论文导读 Session 14 Deep Learning Processors,DNPU: An 8.1TOPS/W Reconfigurable CNN-RNN
  8. 数字电路基础知识(二) 复位设计-亚稳态的产生与影响
  9. 安川涂装机器人离线编程_安川机器人离线编程软件
  10. 350网店模板一键安装模版与淘宝传统装修的对比