- 首页 > 睿知 > it技术 > >
采集规则|java list随机打乱
springmaven采集规则linuxjavaeclipse
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 void shuffle1(List 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 void shuffle2(List 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 void shuffle3(List list) {
// 打乱顺序
Collections.shuffle(list);
}// 打印列表
public void print(List 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 stubShuffleTest st = new ShuffleTest();
List tagClouds = new ArrayList(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);
}}
推荐阅读