zoukankan      html  css  js  c++  java
  • 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(" "); } /** * @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); } }
  • 相关阅读:
    动态规划:DAG-嵌套矩形
    动态规划:LCIS
    动态规划&字符串:最长公共子串
    动态规划:LCS
    动态规划:状压DP-斯坦纳树
    动态规划:数位DP
    JavaScript 正则表达式
    JavaScript 类型转换
    JavaScript typeof, null, 和 undefined
    JavaScript if...Else 语句
  • 原文地址:https://www.cnblogs.com/baiting/p/5640253.html
Copyright © 2011-2022 走看看