shuffle method

void shuffle (
  1. [Random? random]
)
override

Shuffles the elements of this list randomly.

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;
  }
}

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dart.dev/stable/2.13.0/dart-collection/ListMixin/shuffle.html