采集规则|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 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); }}

    推荐阅读