说明:此处的排序 是指:

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. JDBC编程学习笔记之数据库连接池的实现

    在JDBC编程的时候,获取到一个数据库连接资源是很宝贵的,倘若数据库访问量超大,而数据库连接资源又没能得到及时的释放,就会导致系统的崩溃甚至宕机.造成的损失将会是巨大的.再看有了数据库连接池的JDBC ...

  2. 在 root 下执行 Oracle 程序时找不到 libclntsh.so.11.1 错误的解决办法。

    在 root 下执行 Oracle 程序时找不到 libclntsh.so.11.1 错误的解决办法. 先确定 libclntsh.so.11.1 所在目录: [oracle@localhost ~] ...

  3. 【一天一道LeetCode】#117. Populating Next Right Pointers in Each Node II

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

  4. Android support library支持包常用控件介绍(二)

    谷歌官方推出Material Design 设计理念已经有段时间了,为支持更方便的实现 Material Design设计效果,官方给出了Android support design library ...

  5. Java编写的接口测试工具

    这几天由于要频繁地使用一些天气数据接口,但是每次都要频繁的打开网页,略显繁琐,故就自己做了两个json数据获取的小工具. 第一个 先来看看第一个吧,思路是使用一个网络流的处理,将返回的json字符串数 ...

  6. 【翻译】Ext JS 5:为不同设备设置不同的主题

    原文:Sencha Ext JS 5: Supporting Different Themes for Different Devices 步骤1创建一个应用程序 步骤2定义主题 步骤3编辑Appjs ...

  7. BottomSheet底部动作条使用

    底部动作条 底部动作条(Bottom Sheets)是一个从屏幕底部边缘向上滑出的一个面板,使用这种方式向用户呈现一组功能.底部动作条呈现了简单.清晰.无需额外解释的一组操作. 使用环境 底部动作条( ...

  8. 监视锁——Java同步的基本思想

    翻译人员: 铁锚翻译时间: 2013年11月13日原文链接: Monitors – The Basic Idea of Java synchronization如果你上过操作系统课程,你就知道监视锁( ...

  9. css之盒子模型案例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. Java进阶(二十三)java中long类型转换为int类型

    java中long类型转换为int类型 由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参 ...