Dart言語のリストの要素を並び替える方法を解説します。
方法
Listの要素を並び替える方法は2通りあります。
ランダム

1つは、要素を「ランダム」に並び替える方法です。
ランダムに並び替えるのには、「shuffleメソッド」を使います。
var list = <int>[1, 2, 3, 4, 5];
list.shuffle();
print(list);

「shuffleメソッド」を呼び出すことにより、リストがランダムに並び変わってくれます。
ソート

もう1つは、大きい順や小さい順のように「ソート」する方法です。
リストをソートするには、「sortメソッド」を使います。
var list = <int>[3, 5, 1, 4, 2];
list.sort((a, b) => a.compareTo(b));
print(list);

「sortメソッド」内のコード「(a , b) => a.compareTo(b)」は、要素を比較するテンプレートのようなものです。
「sort((a, b) => a.compareTo(b))」によって、リストを小さい順にソートする事ができます。
文字列の場合は「a, b , c・・・」、もしく「あ、い、う、・・・」のような並びになります。
また、大きい順にしたい場合は、「sortメソッド」の引数を少し変えます。
var list = <int>[3, 5, 1, 4, 2];
//マイナス(ー)を付ける
list.sort((a, b) => -a.compareTo(b));
print(list);

「a.compareTo(b)」にマイナスを付け加えることで、リストを大きい順にソートする事が出来ます。
文字列の場合は、通常の逆の順番になります。
まとめ
並び替える方法は、「ランダム」と「ソート」の2通りがあります。
やり方をまとめると次のようになります。
- ランダム:「shuffleメソッド」を呼び出す
- ソート(小さい順):「sort((a, b) => a.compareTo(b))」を呼び出す
- ソート(大きい順):「sort((a, b) => -a.compareTo(b))」を呼び出す
「sortメソッド」内のコードは、少し複雑ですが、テンプレートのようなものなので、そのまま使ってもらえれば大丈夫です。
参考
https://stackoverflow.com/questions/12888206/how-can-i-sort-a-list-of-strings-in-dart(サイト)
コメント