65. FlutterでListの要素をランダムにシャッフルするには
開発しているアプリでListの要素をランダムシャッフルして格納し直す必要が出てきたので ランダムにシャッフル出来ないのかを調べてみました。
List _shuffle(List items) { var random = new Random(); for (var i = items.length - 1; i > 0; i--) { var n = random.nextInt(i + 1); var temp = items[i]; items[i] = items[n]; items[n] = temp; } return items; }
これでListに入っている要素をランダムに並び替えることができる。
final list = List<int>.generate(25, (i) => i + 1); print("list: $list" ); final randomList = _shuffle(list); print("randomList: $randomList" ); # 結果 # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25] # [12, 3, 18, 8, 23, 20, 7, 10, 9, 1, 19, 5, 6, 4, 17, 24, 21, 11, 16, 13, 22, 15, 25, 14, 2]
参考にしたページを貼ります。