说明:此处的排序 是指:

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. Qt中事件分发源代码剖析

    Qt中事件分发源代码剖析 Qt中事件传递顺序: 在一个应该程序中,会进入一个事件循环,接受系统产生的事件,并且进行分发,这些都是在exec中进行的. 下面举例说明: 1)首先看看下面一段示例代码: i ...

  2. UNIX网络编程——UDP编程模型

    使用UDP编写的一些常见得应用程序有:DNS(域名系统),NFS(网络文件系统)和SNMP(简单网络管理协议). 客户不与服务器建立连接,而是只管使用sendto函数给服务器发送数据报,其中必须指定目 ...

  3. love~LBJ,奥布莱恩神杯3

    时间:2016年6月20日8:00:地点:美国金州甲骨文(Oracle)球馆:事件:G7大战,又一次见证伟大赛季奥布莱恩神杯得主--金州勇士VS克利夫兰骑士......     可以说,这是NBA以来 ...

  4. 07_NoSQL数据库之Redis数据库:Redis的高级应用之事务处理、持久化操作、pub_sub、虚拟内存

     事务处理 Redis对事务的支持目前还比较简单.Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令.当一个client在一个连接中发出mul ...

  5. iOS开发基础block的形式讲解

    前几个星期,我利用通知写了一个仿京东选择地址的Demo(http://blog.csdn.net/hbblzjy/article/details/52212879),后来看过一篇文章说,尽量少用通知, ...

  6. 怎么在Eclipse中添加VI插件

    下载地址 Vi插件下载位置 怎么安装? 将下载下来的zip文件进行解压,然后把对于的目录下的文件分别复制到eclipse目录下的plugins 和features目录下: 注册 在eclipse根目录 ...

  7. CUDA学习,使用shared memory实现Reverse Array

  8. Mybatis接口编程原理分析(二)

    在上一篇博客中 Mybatis接口编程原理分析(一)中我们介绍了MapperProxyFactory和MapperProxy,接下来我们要介绍的是MapperMethod MapperMethod:它 ...

  9. 【一天一道LeetCode】#78. Subsets

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...

  10. leetcode 204题求素数个数

        Description: Count the number of prime numbers less than a non-negative number, n 提示晒数法: http:// ...