DataUtil { public static List<Integer> shuffleSwap(List<Integer> origin) { Random random = new Random(); for (int i = 0, tmpElement, tmpIndex = random.nextInt(origin.size()); i < origin.size(); i++, tmpIndex = random.nextInt(origin.size())) { if (tmpIndex != i) { tmpElement = origin.get(tmpIndex); origin.set(tmpIndex, origin.get(i)); origin.set(i, tmpElement); } } return origin; }  static int getMatrixHeavy(int[][] matrix, int m, int n); static int maxSequenceSum(int[] array); static int fibonacciRecursive(int n); static int fibonacci(int n); static int findMaxUnContinuousSum(int[] array); static void findContinuousSequenceMethod1(int n); static void findContinuousSequenceMethod2(int n); static void findContinuousSequenceMethod3(int n); static void findContinuousSequenceMethod4(int n); static void pickNum(int[] originArray, int n, int m, int[] selectArray, int startIndex, boolean inorder); static int binarySearch(int[] array, int key); static int findFirstEqual(int[] array, int key); static int findFirstEqualLarger(int[] array, int key); static int findFirstLarger(int[] array, int key); static int findLastEqual(int[] array, int key); static int findLastEqualSmaller(int[] array, int key); static List<Integer> shufflePump(List<Integer> origin); static List<Integer> shuffleSwap(List<Integer> origin); static int[] shuffleSwap(int[] origin); static String getAccurateDivide(int a, int b, int n); static Set<Integer> getPrimeNumInefficient(int range); static Set<Integer> getPrimeNumEfficient(int range); static int getIntervalDays(int year, int month, int day); static int pageHelper(int n, int m); static boolean isOdd(int num);  }
@Test public void arrayShuffle() throws Exception { int n = 200000; int[] array = new int[n]; for (int i = 0; i < array.length; i++) { array[i] = i + 1; } long start = System.currentTimeMillis(); DataUtil.shuffleSwap(array); long interval = System.currentTimeMillis() - start; logger.info("array shufflePump finished, time cost is: {}ms, result is as follows", interval); for (int i = 0; i < array.length; i++) { logger.info("index: {}, element: {}", i, array[i]); } }