collections.shuffle
java.util.Collections类下有一个静态的shuffle()方法,如下:
1)static void shuffle(List<?> list) 使用默认随机源对列表进行置换,所有置换发生的可能性都是大致相等的。
2)static void shuffle(List<?> list, Random rand) 使用指定的随机源对指定列表进行置换,所有置换发生的可能性都是大致相等的,假定随机源是公平的。
注意:如果给定一个整型数组,用Arrays.asList()方法将其转化为一个集合类,有两种途径:
1)用List<integer> list=ArrayList(Arrays.asList(ia)),用shuffle()打乱不会改变底层数组的顺序。
2)用List<Integer> list=Arrays.aslist(ia),然后用shuffle()打乱会改变底层数组的顺序。
Random rand=new Random(47);
Integer[] ia={0,1,2,3,4,5,6,7,8,9};
List<Integer> list=new ArrayList<Integer>(Arrays.asList(ia));
System.out.println("Before shufflig: "+list);
collections.shuffle(list,rand);
System.out.println("After shuffling: "+list);
System.out.println("array: "+Arrays.toString(ia));
List<Integer> list1=Arrays.asList(ia);
System.out.println("Before shuffling: "+list1);
Collections.shuffle(list1,rand);
System.out.println("After shuffling: "+list1);
System.out.println("array: "+Arrays.toString(ia));
运行结果如下:
Before shufflig: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
After shuffling: [3, 5, 2, 0, 7, 6, 1, 4, 9, 8]
array: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Before shuffling: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
After shuffling: [8, 0, 5, 2, 6, 1, 4, 9, 3, 7]
array: [8, 0, 5, 2, 6, 1, 4, 9, 3, 7]
参考网址:https://blog.csdn.net/u011514810/article/details/51218784
文章最后发布于: 2019-04-02 10:07:44
相关阅读
Java——事件处理机制监听者基础(一)动作监听ActionList
介绍:ActionListener是一个接口,ActionEvent通常在点击一个按钮或双击某个列表项或选中某个菜单时发生。如何设置监听:对监听者添加A
【mie haha的博客】转载请注明出处(万分感谢!):https://blog.csdn.net/qq_40315080/article/details/96186623Android中xml和java相结
对Ubuntu的sources.list文件及软件源相关的总结
文章目录1. sources.list2. sources.list.d/*.list3. 换源4. 镜像源获取5. 选择源6. 备份并修改sources.list7. 命令或脚本1.
shuffle流程理解 什么是shuffle流程? MapReduce确保每个reducer的输入都是按键排序的。系统执行排序,将map输出作为输入传给redu
List是集合容器的一种,在分析List之前,我们先来了解一下集合体系的架构: Why–为什么需要集合 首先,Java是一门面向对象的语言,奉承