javalist随机打乱java list随机打乱
package arrlist;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
/**
* 打乱列表中数据元素的三种实现⽅法
*java arraylist用法
* @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 = Int(size);
// 当前元素与随机元素交换
T temp = (i);
list.set(i, (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 = Int(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);
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。