说明:此处的排序 是指:

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. OpenCV特征点检测匹配图像-----添加包围盒

    最终效果: 其实这个小功能非常有用,甚至加上只有给人感觉好像人脸检测,目标检测直接成了demo了,主要代码如下: // localize the object std::vector<Point ...

  2. boost::coroutine 无法显示调用栈

    boost::coroutine 无法显示调用栈(金庆的专栏)一例因 boost::format() 格式化参数个数错误造成的 coredump,因为使用了 boost::coroutine, 无法显 ...

  3. Fragment详解-android学习之旅(四十八)

    Fragment的设计哲学 Fragment的继承体系 Fragment的开发 大部分都会继承如下的三个方法 Fragment与Activity的通信 Fragment与Activity交互信息 Fr ...

  4. Android进阶(二十五)setTextColor()的参数设置方式

    setTextColor()的参数设置方式 查了下资料发现setTextColor()的参数可以写成以下形式: 直接使用颜色值 setTextColor(0xFF0000FF);//0xFF0000F ...

  5. 在go中使用linked channels进行数据广播

    在go中使用linked channels进行数据广播 原文在这里(需FQ),为啥想要翻译这篇文章是因为在实际中也碰到过如此的问题,而该文章的解决方式很巧妙,希望对大家有用. 在go中channels ...

  6. 谈谈Ext JS的组件——布局的使用方法续一

    盒子布局 盒子布局主要作用是以水平(Ext.layout.container.HBox)或垂直方式(Ext.layout.container.VBox)来划分容器区域.这也是比较常有的布局方式. 使用 ...

  7. Libgdx 1.5.4发布,跨平台游戏开发框架

    (原文链接:http://www.libgdx.cn/topic/70/libgdx-1-5-4%E5%8F%91%E5%B8%83) [1.5.4] 添加对Titled maps 的图像层的支持. ...

  8. 手把手带你画一个 时尚仪表盘 Android 自定义View

    拿到美工效果图,咱们程序员就得画得一模一样. 为了不被老板喷,只能多练啊. 听说你觉得前面几篇都so easy,那今天就带你做个相对比较复杂的. 转载请注明出处:http://blog.csdn.ne ...

  9. 【翻译】对于Ext JS 5,你准备好了吗?

    原文:Are You Ready for Ext JS 5? Ext JS 5:准备升级 对于Ext JS 5加入Sencha的大家庭,我们感到非常高兴!作为一个主要版本,在Ext JS 5引入了一堆 ...

  10. Xcode 下cocos-2dx 环境搭建

    一.Cocos2d-x简介 Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的,这是一个C++ Cocos2d-iPhone项目的版本. Cocos2d-X发展的重点是围绕Cocos ...