diff --git a/core/src/main/java/com/yahoo/ycsb/Utils.java b/core/src/main/java/com/yahoo/ycsb/Utils.java index 9a95cbd6ae457d709ca68e9e6ff3267b602cd2a3..ade6a1cee3956e134bf14985b68d005a01d9bac4 100644 --- a/core/src/main/java/com/yahoo/ycsb/Utils.java +++ b/core/src/main/java/com/yahoo/ycsb/Utils.java @@ -226,4 +226,19 @@ public final class Utils { } return map; } + + /** + * Simple Fisher-Yates array shuffle to randomize discrete sets. + * @param array The array to randomly shuffle. + * @return The shuffled array. + */ + public static <T> T [] shuffleArray(final T[] array) { + for (int i = array.length -1; i > 0; i--) { + final int idx = RAND.nextInt(i + 1); + final T temp = array[idx]; + array[idx] = array[i]; + array[i] = temp; + } + return array; + } }