说明:此处的排序 是指:

1: 往集合中插入元素的顺序与遍历元素的顺序的关系;

2: 往对象中插入元素否会根据元素的大小排序

public class MapSortTest
{
 
    public static void main(String[]
args) {
         
        System.out.println("放入顺序为:a:aaa
c:ccc b:bbb d:ddd "
);
        System.out.println("HashMap
排序测试"
);
        Map
map =
new HashMap();
        map.put("a",
"aaa"); 
        map.put("c",
"ccc");
        map.put("b",
"bbb");
        map.put("d",
"ddd");
        Iterator
iterator = map.keySet().iterator();
        while (iterator.hasNext())
{
            Object
key = iterator.next();
            System.out.println("key:"+key+"        
value:"
 +
map.get(key));
        }
        System.out.println("HashMap
进出无次序 ; key大小无次序 "
);
        System.out.println("***********************************************************");
         
         
        System.out.println("Hashtable
排序测试"
);      
        Hashtable
tab =
new Hashtable();
        tab.put("a",
"aaa");
        tab.put("c",
"ccc");
        tab.put("b",
"bbb"); 
        tab.put("d",
"ddd");
        Iterator
iterator_1 = tab.keySet().iterator();
        while (iterator_1.hasNext())
{
            Object
key = iterator_1.next();
            System.out.println("key
:"
+key+"            
value:"
+
tab.get(key));
        }
        System.out.println("Hashtable
进出无次序 ; key大小无次序 "
);
        System.out.println("***********************************************************");
         
        System.out.println("TreeMap
排序测试"
);            
        TreeMap
tmp =
new TreeMap();
        tmp.put("a",
"aaa");
        tmp.put("c",
"ccc");
        tmp.put("b",
"bbb");
        tmp.put("d",
"ddd");
        Iterator
iterator_2 = tmp.keySet().iterator();
        while (iterator_2.hasNext())
{
            Object
key = iterator_2.next();
            System.out.println("key:"+key+"         
value:"
 +
tmp.get(key));
        }
        System.out.println("TreeMap
进出无次序 ; key大小从小到大 "
);
        System.out.println("***********************************************************");
         
        System.out.println("LinkedHashMap
排序测试"
);              
        LinkedHashMap
linkedHashMap =
new LinkedHashMap();
        linkedHashMap.put("a",
"aaa");
        linkedHashMap.put("c",
"ccc");
        linkedHashMap.put("b",
"bbb");
        linkedHashMap.put("d",
"ddd");
        Iterator
iterator2 = linkedHashMap.keySet().iterator();
        while (iterator2.hasNext())
{
            Object
key = iterator2.next();
            System.out.println("key:"+key+"         
value:"
 +
linkedHashMap.get(key));
        }      
        System.out.println("LinkedHashMap
先进先出; key大小无次序 "
);
        System.out.println();
         
        System.out.println("ArrayList
排序测试"
);
        System.out.println("放入顺序为:aaa
ccc bbb ddd"
);
        ArrayList
arrayList=
new ArrayList();
        arrayList.add("aaa");
        arrayList.add("ccc");
        arrayList.add("bbb");
        arrayList.add("ddd");
        System.out.println("ArrayList
先进先出;值大小无次序 "
);
//     
Collections.sort(arrayList);
        for(int i=0;i<arrayList.size();i++){
            System.out.println(arrayList.get(i));
        }
        System.out.println("***********************************************************");
    }
 
}

运行结果:

放入顺序为:a:aaa
c:ccc b:bbb d:ddd
HashMap
排序测试
key:d        
value:ddd
key:b        
value:bbb
key:c        
value:ccc
key:a        
value:aaa
HashMap
进出无次序 ; key大小无次序
***********************************************************
Hashtable
排序测试
key
:b             value:bbb
key
:a             value:aaa
key
:d             value:ddd
key
:c             value:ccc
Hashtable
进出无次序 ; key大小无次序
***********************************************************
TreeMap
排序测试
key:a         
value:aaa
key:b         
value:bbb
key:c         
value:ccc
key:d         
value:ddd
TreeMap
进出无次序 ; key大小从小到大
***********************************************************
LinkedHashMap
排序测试
key:a         
value:aaa
key:c         
value:ccc
key:b         
value:bbb
key:d         
value:ddd
LinkedHashMap
先进先出; key大小无次序
 
ArrayList
排序测试
放入顺序为:aaa
ccc bbb ddd
LinkedHashMap
先进先出;值大小无次序
aaa
ccc
bbb
ddd
***********************************************************

常见Map 及 ArrayList 是否有序总结的更多相关文章

  1. Set,List,Map,Vector,ArrayList的区别(转)

    JAVA的容器---List,Map,Set Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtab ...

  2. 记录一下显示Map<String, ArrayList<String>>中的ArrayList里的数据的操作

    1.有以下数据: ArrayList<Employee> emp = new ArrayList<>(); emp.add(new Employee("zhang&q ...

  3. 为啥final类型的map或者arraylist可以修改数据 而final类型的String变量不可以修改数据呢

    比如 final   Map  map =new  HashMap();    可以往map里put数据final   List  list =new  ArrayList();   可以往list里 ...

  4. dao层取值用List<map<String,Object>>接收有序map

    发现一个好玩的Map, 当需要Map有序时用java.util.LinkedHashMap接收,是有序map resultType="java.util.LinkedHashMap" ...

  5. Hashmap,Set,Map,List,ArrayList的区别

    表格: 类型 默认容量 加载因子[1] 扩容增量 底层实现 是否安全及同步方式 Vector 10 1 2倍 Object数组 安全,synchronized ArrayList 10 1 1.5倍( ...

  6. 项目:条件查询 通过StringBulider和ArrayList(参数有序) 手动拼接sql

    条件查询的sql拼接 参数拼接 public List<Product> findAll(Product product) throws SQLException { //1.1 拼凑sq ...

  7. Java入门记(五):容器关系的梳理(下)——Map

    注意:阅读本文及相关源码时,需要数据结构相关知识,包括:哈希表.链表.红黑树. Map是将键(key)映射到值(value)的对象.不同的映射不能包含相同的键:每个键最多只能映射到一个值.下图是常见M ...

  8. java集合类(五)About Map

    接上篇“java集合类(四)About Set” 这次学完Map之后,就剩队列的知识,之后有关java集合类的学习就将告一段落,之后可能会有java连接数据库,I/O,多线程,网络编程或Android ...

  9. Map和Collection

    Map:key---Value(一对儿数据) HashMap:无序存放,key不允许重复 HashTable:无序存放,key不允许重复 key是set集合,value是collection集合 Co ...

随机推荐

  1. was unable to start within 45 seconds. If the server requires more time, try increasing the timeout

    在eclipse启动tomcat时遇到超时45秒的问题: Server Tomcat v7.0 Server at localhost was unable to startwithin 45 sec ...

  2. Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(七)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 打开SpriteBuilder,在文件视图中新建一个文件夹Fon ...

  3. Linux Debugging(七): 使用反汇编理解动态库函数调用方式GOT/PLT

    本文主要讲解动态库函数的地址是如何在运行时被定位的.首先介绍一下PIC和Relocatable的动态库的区别.然后讲解一下GOT和PLT的理论知识.GOT是Global Offset Table,是保 ...

  4. IDEA中运行KafkaWordCount程序

    1,从spark的example中找到KafkaWordCount.scala文件复制到idea编辑器中,引入包: 2,编辑configuration,     (1)KafkaWordCountPr ...

  5. 海量数据挖掘MMDS week3:社交网络之社区检测:基本技巧

    http://blog.csdn.net/pipisorry/article/details/49052057 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

  6. MSM平台RPM

    Software Component Block Diagram RPM(Resource Power Manager)是高通MSM平台另外加的一块芯片,虽然与AP芯片打包在一起,但其是一个独立的AR ...

  7. Property属性,&nbsp;KVC键值编码OC…

    1.属性:帮你自动生成setter 和 getter 方法      属性的声明:(写在.h中)      格式: @property 数据类型 属性名      属性的实现:(写在.m中)      ...

  8. 详解ebs接口之客户配置文件导入(二)

    ------------------------------------ -- 1a. Setup the Org_id ------------------------------------ ex ...

  9. Linux Shell脚本攻略学习总结:二

    比较与测试 程序中的流程控制是由比较和测试语句来处理的. 我们可以用if,if else 以及逻辑运算符来执行测试,而用一些比较运算符来比较数据项.另外,有一个test 命令也可以用来进行测试.让我们 ...

  10. mysql 字符集更改与导入数据

    mysql 字符集更改与导入数据 mysqldb经常有中文乱码的问题,解决起来很恼火.其实所有开发和数据库统一为一种编码就可以了: utf8. 1 下面修改mysql的编码 1) 永久修改. 在/et ...