java list随机打乱
java list随机打乱
package arrlist; import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random; /**
* 打乱列表中数据元素的三种实现方法
*
* @author Alexia
* @date 2013-7-16
*
*/
public class ShuffleTest { // 打乱列表实现方法1
public <T> void shuffle1(List<T> list) {
int size = list.size();
Random random = new Random(); for(int i = 0; i < size; i++) {
// 获取随机位置
int randomPos = random.nextInt(size); // 当前元素与随机元素交换
T temp = list.get(i);
list.set(i, list.get(randomPos));
list.set(randomPos, temp);
}
} // 打乱列表实现方法2
public <T> void shuffle2(List<T> list) {
int size = list.size();
Random random = new Random(); for(int i = 0; i < size; i++) {
// 获取随机位置
int randomPos = random.nextInt(size); // 当前元素与随机元素交换
Collections.swap(list, i, randomPos);
}
} // 打乱列表实现方法3
public <T> void shuffle3(List<T> list) {
// 打乱顺序
Collections.shuffle(list);
} // 打印列表
public <T> void print(List<T> list) {
for(T t : list) {
System.out.print(t + " ");
} System.out.println("\n");
} /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub ShuffleTest st = new ShuffleTest();
List<String> tagClouds = new ArrayList<String>(6); // 一般从数据库中读取,这里仅以测试为目的
tagClouds.add("计算机");
tagClouds.add("Java");
tagClouds.add("编程");
tagClouds.add("C/C++");
tagClouds.add("操作系统");
tagClouds.add("数据库");
System.out.println("原顺序:");
st.print(tagClouds); st.shuffle1(tagClouds);
System.out.println("打乱顺序一:");
st.print(tagClouds); st.shuffle2(tagClouds);
System.out.println("打乱顺序二:");
st.print(tagClouds); st.shuffle3(tagClouds);
System.out.println("打乱顺序三:");
st.print(tagClouds);
} }
java list随机打乱的更多相关文章
- java输入一个字符串,打印出该字符串中字符的所有排列,随机打乱排序
import java.util.ArrayList;import java.util.Collections;import java.util.List; public class Test7{ ...
- ShuffleElements(随机打乱数组中的元素)
给定一个数组,随机打乱数组中的元素,题意很简单直接上代码: package Array; import java.util.Arrays; import java.util.Collections; ...
- php保留键随机打乱数组顺序
最近遇到一个需求,把一个数组随机打乱顺序,我们可以用php的shuffle函数,但是这个函数会把数组的键清空建立新的键,那么我们若想保留键只需要利用shuffle函数再做一下处理就可以了.可以自定义一 ...
- java生成随机序列号
1.java生成随机序列号 String deleteUuid = UUID.randomUUID().toString(); 引用Jar包 //java-uuid-generator-3.1.3.j ...
- java生成随机字符串
学习java comparable特性时候,定义如下Student类,需要需要随机添加学生姓名以及学号和成绩,这是java如何随机生成名字,根据我的查询,我找到目前java库支持两种方法. 1. or ...
- N个整数(数的大小为0-255)的序列,把它们加密为K个整数(数的大小为0-255).再将K个整数顺序随机打乱,使得可以从这乱序的K个整数中解码出原序列。设计加密解密算法,且要求K<=15*N.
N个整数(数的大小为0-255)的序列,把它们加密为K个整数(数的大小为0-255).再将K个整数顺序随机打乱,使得可以从这乱序的K个整数中解码出原序列.设计加密解密算法,且要求K<=15*N. ...
- js 随机打乱数组
假如有一个数组: var arr1=['a','b','c','d','e','f','g']; 需要将它进行随机打乱,网上好多都是用: arr1.sort(function(){ return 0. ...
- JavaScript中随机打乱一个数组
JavaScript中随机打乱一个数组 function shuffle(arr) { let i = arr.length; while (i) { let j = Math.floor(Math. ...
- Python 如何随机打乱列表(List)排序
场景: 现在有一个list:[1,2,3,4,5,6],我需要把这个list在输出的时候,是以一种随机打乱的形式输出. 专业点的术语:将一个容器中的数据每次随机逐个遍历一遍. 注意:不是生成一个随机的 ...
随机推荐
- android WebView网页浏览器
组件位置:composite>WebView .xml <WebView android:id="@+id/webview_pipeweb" android:layou ...
- 网络基本概念备忘:MAC地址,端口,HTTP状态码
MAC地址 英文MAC Address 英文全称: Media Access Control Address 别称:硬件位址 用途:定义网络设备位置 表示:十六进制数,6 Byte 特点:产品出产后M ...
- HDU 5139 Formula --离线处理
题意就不说了,求公式. 解法: 稍加推导能够得出 : f(n) = n! * f(n-1) , 即其实是求: ∏(n!) ,盲目地存下来是不行的,这时候看见条件: 数据组数 <= 100000 ...
- win7旗舰版 中文64位 产品密钥(序列号)
无需破解即可激活Windows 7旗舰版的"神Key". 第一枚"神Key":TFP9Y-VCY3P-VVH3T-8XXCC-MF4YK: 第二枚"神 ...
- javascript的几个小技巧
1.在循环中缓存array.length 这个技巧很简单,这个在处理一个很大的数组循环时,对性能影响将是非常大的.基本上,大家都会写一个这样的同步迭代的数组. for(var i=0;i<arr ...
- http协议(五)web服务器
1.http1.1规范允许一台http服务器搭建多个web站点... 比如提供web托管服务的供应商,可以用一台服务器为多为客户服务,也可以以每位客户持有的域名运行各自不同的网站,这里利用了虚拟服务器 ...
- Anyconnect的VPN环境部署(2)-在Linux客户机上连接Anyconnect
由于之前已经在机房IDC安装了Anyconnect的VPN服务环境(参考:Anyconnect的VPN环境部署(1)-OpenConnect server(ocserv)服务安装)今天介绍下在linu ...
- zlog学习笔记(level_list)
level_list.h /** * */ #ifndef __zlog_level_list_h #define __zlog_level_list_h zc_arraylist_t *zlog_l ...
- DataReader用法
一.DataReader含义 DataReader相比于DataSet,DataReader是一个抽象类,所以不能用DataReader DR = new DataReader(),来构造函数创建对象 ...
- Query on a tree——树链剖分整理
树链剖分整理 树链剖分就是把树拆成一系列链,然后用数据结构对链进行维护. 通常的剖分方法是轻重链剖分,所谓轻重链就是对于节点u的所有子结点v,size[v]最大的v与u的边是重边,其它边是轻边,其中s ...