Java代码 
  1. import java.util.HashMap;
  2. import java.util.LinkedHashMap;
  3. import java.util.Map;
  4. import java.util.TreeMap;
  5. public class Test {
  6. public static void main(String[] args) {
  7. Map tree = new TreeMap();
  8. Map linked = new LinkedHashMap();
  9. Map hash = new HashMap();
  10. System.out.println("tree :"+buildMap(tree));
  11. System.out.println("link :"+buildMap(linked));
  12. System.out.println("hash :"+buildMap(hash));
  13. }
  14. private static Map buildMap(Map map){
  15. map.put("0", "a");
  16. map.put("e", "b");
  17. map.put("4", "s");
  18. map.put("3", "c");
  19. return map;
  20. }
  21. }

输出结果:

Java代码 
  1. tree :{0=a, 3=c, 4=s, e=b}
  2. link :{0=a, e=b, 4=s, 3=c}
  3. hash :{3=c, 0=a, 4=s, e=b}

由此可见: 
HashMap是按照HashCode 排序,莫名其妙的顺序。 
TreeMap是按照自身的顺序排序,比如数字的话,按照数字升序,ascII等。 
LinkedHashMap是按照先进先出的顺序。

HashMap , TreeMap , TreeMap 默认排序的更多相关文章

  1. [Java] HashMap、TreeMap、Hashtable排序

    Java中对Map(HashMap,TreeMap,Hashtable等)的排序时间 首先简单说一下他们之间的区别: HashMap: 最常用的Map,它根据键的HashCode 值存储数据,根据键可 ...

  2. HashMap与TreeMap按照key和value排序

    package com.sort; import java.util.ArrayList; import java.util.Collections; import java.util.Compara ...

  3. HashMap与TreeMap源码分析

    1. 引言     在红黑树--算法导论(15)中学习了红黑树的原理.本来打算自己来试着实现一下,然而在看了JDK(1.8.0)TreeMap的源码后恍然发现原来它就是利用红黑树实现的(很惭愧学了Ja ...

  4. HashMap vs TreeMap vs Hashtable vs LinkedHashMap

    Map是一个重要的数据结构,本篇文章将介绍如何使用不同的Map,如HashMap,TreeMap,HashTable和LinkedHashMap. Map概览 Java中有四种常见的Map实现,Has ...

  5. HashMap,HashTable,TreeMap区别和用法

    开始学HashTable,HashMap和TreeMap的时候比较晕,觉得作用差不多,但是到实际运用的时候又发现有许多差别的.需要大家注意,在实际开发中以需求而定. java为数据结构中的映射定义了一 ...

  6. 【Java】Map杂谈,hashcode()、equals()、HashMap、TreeMap、LinkedHashMap、ConcurrentHashMap

    参考的优秀文章: <Java编程思想>第四版 <Effective Java>第二版 Map接口是映射表的结构,维护键对象与值对象的对应关系,称键值对. > hashco ...

  7. Java中HashMap,LinkedHashMap,TreeMap的区别[转]

    原文:http://blog.csdn.net/xiyuan1999/article/details/6198394 java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类 ...

  8. HashMap,LinkedHashMap,TreeMap的区别(转)

    Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复.Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快 ...

  9. map,set,list等集合解析以及HashMap,LinkedHashMap,TreeMap等该选谁的的区别

    前言: 今天在整理一些资料时,想起了map,set,list等集合,于是就做些笔记,提供给大家学习参考以及自己日后回顾. Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允 ...

随机推荐

  1. BZOJ(4) 1050: [HAOI2006]旅行comf

    1050: [HAOI2006]旅行comf Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3984  Solved: 2236[Submit][St ...

  2. SQL Server memory – Internals

    https://blogs.msdn.microsoft.com/karthick_pk/2013/03/16/sql-server-memory-internals/

  3. mybatis指定jdbctype

    MyBatis 插入空值时,需要指定JdbcType mybatis insert空值报空值异常,但是在pl/sql不会提示错误,主要原因是mybatis无法进行转换 所以在MyBatis映射文件中要 ...

  4. MySQL: How to support full Unicode in MySQL databases

    How to support full Unicode in MySQL databases Published 30th July 2012 · tagged with MySQL, securit ...

  5. golang中select case 的用途到底是啥

    https://nanxiao.gitbooks.io/golang-101-hacks/content/posts/select-operation.html ------------------- ...

  6. [Vue @Component] Handle Errors and Loading with Vue Async Components

    Because async components are not bundled with your app, they need to be loaded when requested. This ...

  7. nmap,port扫描,获取sshserver的ip地址

    // 查看局域网的ip地址 arp - a // 同一个网段.假设用虚拟机桥接则不行 sudo nmap -sS 192.168.1.* //或者sudo nmap -sS -p 22 192.168 ...

  8. HDU 4249 A Famous Equation(数位DP)

    题目链接:点击打开链接 思路:用d[i][a][b][c][is]表示当前到了第i位, 三个数的i位各自是a,b,c, 是否有进位 , 的方法数. 细节參见代码: #include<cstdio ...

  9. LeetCode 771. Jewels and Stones (宝石与石头)

    题目标签:Hash Table 这一题很简单,题目给了两个string:J 和 S. 只要把J 里面的 char 放入HashSet,再遍历S找出有多少个石头是宝石. Java Solution: R ...

  10. HDOJ 4705 Y 树形DP

    DP:求出3点构成链的方案数 .然后总方案数减去它 Y Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K ...