shuffle method
- [Random? random]
override
Shuffles the elements of this list randomly.
final numbers = <int>[1, 2, 3, 4, 5];
numbers.shuffle();
print(numbers); // [1, 3, 4, 5, 2] OR some other random result.
Implementation
void shuffle([Random? random]) {
random ??= Random();
if (random == null) throw "!"; // TODO(38493): The `??=` should promote.
int length = this.length;
while (length > 1) {
int pos = random.nextInt(length);
length -= 1;
var tmp = this[length];
this[length] = this[pos];
this[pos] = tmp;
}
}