码迷,mamicode.com
首页 > 编程语言 > 详细

java list随机打乱

时间:2016-07-04 15:08:35      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

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随机打乱

标签:

原文地址:http://www.cnblogs.com/baiting/p/5640253.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!