[Dart]リスト(List)を並び替える方法

Dart

Dart言語のリストの要素を並び替える方法を解説します。

スポンサーリンク

方法

Listの要素を並び替える方法は2通りあります。

ランダム

インターフェース, インターネット, プログラム, ブラウザ, Www

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();
  
  print(list);

ただ、この方法だと小さい順にしかソートすることが出来ません。

また、大きい順にしたい場合は、「sortメソッド」の引数を少し変えます。

var list = <int>[3, 5, 1, 4, 2];

//マイナス(ー)を付ける
  list.sort((a, b) => -a.compareTo(b));

  print(list);

「a.compareTo(b)」にマイナスを付け加えることで、リストを大きい順にソートする事が出来ます。

文字列の場合は、通常の逆の順番になります。

以下は、文字列での挙動です。
気になる方は、確認してください。

  var list2 = <String>["う", "あ", "い"];  
  
  list2.sort((a, b) => a.compareTo(b));
  
  print(list2);

逆順だと次のようになります。

  var list2 = <String>["う", "あ", "い"];  
  
  list2.sort((a, b) => -a.compareTo(b));
  
  print(list2);
スポンサーリンク

まとめ

並び替える方法は、「ランダム」と「ソート」の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(サイト)

スポンサーリンク

オススメの記事

[Dart]リスト(List)にフィルター(filter)処理をする方法

[Dart]リストを比較する方法

[Dart][Flutter]リストの要素を削除する方法

コメント

タイトルとURLをコピーしました