I need to generate an array of integers in random order repeatedly in Java. I came up with the following ugly snippet (which runs in a bigger loop). What's a more efficient or compact way to do the same?
ArrayList<Integer> t = new ArrayList<>();
int[] d = new int[elts];
for (int i = 0; i < elts; i++) {
t.add(i);
}
Collections.shuffle(t);
for (int i = 0; i < elts; i++) {
d[i] = t.get(i);
}