在JAVA中如果想打乱LIST的顺序可以调用Collections.shuffle()或者Collections.shuffle(List> list, Random rnd)方法。

Random rand = new Random();

Integer[] ia = {1,2,3,4,5,6,7,8,9,10};

List list1 = new ArrayList(Arrays.asList(ia));

System.out.println("list1打乱前的顺序:"+list1.toString());

Collections.shuffle(list1,rand);

System.out.println("list1打乱后的顺序:"+list1.toString());

System.out.println("原数组的顺序:"+Arrays.toString(ia));

得到的结果:

list1打乱前的顺序:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

list1打乱后的顺序:[10, 5, 2, 9, 3, 1, 8, 7, 6, 4]

原数组的顺序:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

将上面的代码改一改:

List list2 = Arrays.asList(ia);

System.out.println("list2打乱前的顺序:"+list2.toString());

Collections.shuffle(list2,rand);

System.out.println("list2打乱后的顺序:"+list2.toString());

System.out.println("原数组的顺序:"+Arrays.toString(ia));

得到的结果:

list2打乱前的顺序:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

list2打乱后的顺序:[1, 10, 8, 6, 9, 4, 2, 7, 5, 3]

原数组的顺序:[1, 10, 8, 6, 9, 4, 2, 7, 5, 3]

对比一下,第二段代码将原数组的顺序也打乱了。第一段代码用了一个ArrayList将Arrays.asList()方法的结果包装起来,这将创建一个引用ia数组的元素的ArrayList。因此打乱这些引用不会修改数组。第二段代码直接使用 Arrays.asList()的结果,这种打乱会修改ia数组的顺序。ArrayList.asList()方法的产生的List会使用底层数组作为其物料实现。如果不想改变原数据的位置,那么就使用第一段代码的实现方式。

java list打乱排序_JAVA Collections.shuffle打乱列表相关推荐

  1. java list打乱顺序_「collections.shuffle」Collections.shuffle()打乱List - seo实验室

    collections.shuffle java.util.Collections类下有一个静态的shuffle()方法,如下: 1)static void shuffle(List> list ...

  2. java 怎么自定义排序_Java如何实现List自定义排序

    Java如何实现List自定义排序,自定义,即为,详细内容,相关文章,更多关于 Java如何实现List自定义排序 易采站长站,站长之家为您整理了Java如何实现List自定义排序的相关内容. 实体类 ...

  3. java 数组去重排序_Java实现的数组去重与排序操作详解

    本文实例讲述了Java实现的数组去重与排序操作.分享给大家供大家参考,具体如下: 这里演示Java实现数组去重.排序操作 文中的示例源码编写基于Jdk1.6+.junit4.8.2 java.util ...

  4. java list 拼音排序_java中实现List集合中对象元素按其属性的中文拼音排序

    java中List集合的元素是按照添加顺序排序的,我们在实际开发过程中,可能会遇到需要对其内容进行排序的场景,接下来对我遇到的场景所采用的解决方式做个总结. 一.业务场景 管理后台商户名称下拉列表,需 ...

  5. Java数组中文排序_Java模块 -- 数组/集合中文汉字排序(支持生僻汉字)

    这里举例List集合 , 对list中的中文进行排序 , 按照中文拼音首字母. 支持生僻汉字的话 , 需要使用一个jar包 , 链接地址如下 传统的 : List list = new ArrayLi ...

  6. java的hashmap排序_Java面试题:如何对HashMap按键值排序

    Java中HashMap是一种用于存储"键"和"值"信息对的数据结构.不同于Array.ArrayList和LinkedLists,它不会维持插入元素的顺序. ...

  7. java 线性表排序_Java线性表的排序

    Java线性表的排序 前言:刚才在弄JDBC的时候,忽然觉得order-by用太多了没新鲜感,我的第六感告诉我java有对线性表排序的封装,然后在eclipse里随便按了一下"." ...

  8. java字符串字典排序_java实现对map的字典序排序操作示例

    本文实例讲述了java实现对map的字典序排序操作.分享给大家供大家参考,具体如下: java中对map的字典序排序,算法验证比对微信官网https://mp.weixin.qq.com/wiki?t ...

  9. java集合对象排序_java ArrayList集合中的某个对象属性进行排序的实现代码

    开发中有时候需要自己封装分页排序时,List如何对某一属性排序呢,分享一个小实例,大家共勉,希望能对大家有用,请多多指教. 1.Student的Bean如下: public class Student ...

最新文章

  1. 飞机的“黑色十分钟”能被人工智能消灭吗?
  2. 高防服务器究竟能防御哪些攻击?
  3. iphone用计算机显示器,苹果显示器接普通电脑怎么操作【详细介绍】
  4. 一篇文章带你详解 TCP/IP 协议(上)
  5. 与afreez一起学习DirectFB之:一个linux下的framebuffer例子的学问
  6. 带出7个“师弟”,支付宝BASIC College的辅导员是个伪90后
  7. Systemd入门教程:命令篇
  8. Browser增加下载路径选择功能
  9. 基于比较的排序算法集
  10. cad计算机忘了保存,cad图纸没保存怎么恢复(电脑突然断电,怎么找回未保存的CAD?)...
  11. 将数据库中的表结构导出到excel中(写数据库设计说明书)
  12. qt qtableview 刷新列表_qt qtableview基本用法
  13. SQLFeatureNotSupportedException: isValid
  14. todo Java注解
  15. 那些年,我闯荡江湖的创业经历与感悟;分享给迷茫的你。
  16. 嵌入式系统 ---> 程序存储器和数据存储器
  17. 【财富空间】张泉灵:时代抛弃你时,连一声再见都不会说
  18. 如何自己编写一个交通仿真软件(二)原野。
  19. 依存句法分析与语义依存分析的区别
  20. REST风格和使用RESTful形式开发

热门文章

  1. Powershell管理系列(四)Lync server 2013 批量启用语音及分配分机号
  2. ffmpeg编译的静态链接库问题
  3. 今后,去踢“大数据足球”
  4. 常用sql语句整理:mysql
  5. 在ASP.NET中如何运行后台任务
  6. 2016/03/30
  7. 浏览器禁用Cookie,基于Cookie的会话跟踪机制失效的解决的方法
  8. 雨巷(A Lane in the Rain)
  9. php正则表达式中的字符是,PHP_PHP正则表达式中的特殊字符,字符/意义:对于字符,通常表 - phpStudy...
  10. python精度_通过Python可以达到的最高时间精度范围是多少?