说明:此处的排序 是指:

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. Hibernate之多对多表,操作实例

    多表操作之多对多关系简介 思路就是: 在数据库底层通过添加中间表来指定关联关系. 在双方的实体中添加一个保存对方的集合 在双方的配置文件中使用set标签和many-to-many标签来进行关联关系的配 ...

  2. Mybatis代码自动生成插件使用

    1.配置pom.xml 添加mybatis-generator-maven-plugin到pom.xml. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 ...

  3. Android必知必会--GreenDao缓存

    Github版 CSDN版 本篇文章不是介绍GreenDao的配置和基础使用,记录一下GreenDao缓存的问题,帮助遇到同样问题的朋友找到原因和方法,下面是示例: 场景重现 //第一次查询 List ...

  4. JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤

    JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常 ...

  5. Android进阶(六)文件读操作

    Android中文件的读写操作与Java中文件的读写操作是有区别的.在Java中,读文件操作如以下代码所示: public class FileRead { private static final  ...

  6. Gradle 笔记——Java构建入门

    Gradle是一个通用的构建工具,通过它的构建脚本你可以构建任何你想要实现的东西,不过前提是你需要先写好构建脚本的代码.而大部分的项目,它们的构建流程基本是一样的,我们不必为每一个工程都编写它的构建代 ...

  7. 【Unity Shaders】Reflecting Your World(反射吧!)介绍

    本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...

  8. FreeMarker 生成Java、mybatis文件

    FreeMarker 生成Java.mybatis文件 将mysql数据库表通过FreeMarker生成对应的Java文件和对应的mybatis文件. FreeMarker是一款模板引擎: 即一种基于 ...

  9. 9.2.1、Libgdx的输入处理之轮询

    (官网:www.libgdx.cn) 轮询是检测输入设备的当前状态,比如特定的按键按下,屏幕第一个手指的位置等等.这是一个快速简单的处理用户输入的方式,并且应用到很多的游戏中. 注意:如果你处理轮询, ...

  10. H5学习之旅-H5的块标签的使用(9)

    块元素的基本语法 1. Html块元素 ,块元素在开始时候通常以新行开始,比如h1,p,ul 2.内联元素,通常不会以新行开始,比如a,b,img 3.html的div元素,div也被称为块元素,其主 ...