【Flutter/Dart】Listクラス/使い方/基礎から実践
Dartの基本文であるListクラスについて調べてまとめました。基礎から実践までサンプルがあります。動かない場合はコメントください。
動かすにはDartpadを使用してください。
Listとは
公式サイト
https://api.flutter.dev/flutter/dart-core/List-class.html
Listとは、Dartで配列を扱うためのクラス。
List・Set・Mapの違い
List・Set・Mapの違いは下記の表のようになっています。
違い/型 | List | Set | Map |
宣言 | [] | {} | {} |
要素 | 重複要素を持てる | 重複要素を持てない | 重複要素を持てない |
順序 | 順序付きコレクション | デフォルトは順序付き | デフォルトは順序付き |
基礎
宣言
//宣言 var 名 = <型>[]; //変数に格納する var fruit = <String>[];
値を代入
//下記のようにする var リスト名 = [値1, 値2, 値3];
void main(){ var fruit = ['apple', 'banana', 'grape']; }
値を取得
void main(){ var fruit = ['apple', 'banana', 'grape']; print(fruit[0]); }
値を書き換える
void main(){ var fruit = ['apple', 'banana', 'grape']; fruit[0] = 'lemon'; print(fruit); }
Listのプロパティ
first
配列の最初の値を調べるプロパティです。このプロパティを使うと配列に格納している最初の値を調べることができます。
void main(){ var numbers = [1, 2, 3]; print(numbers.first); }
last
配列の最後の値を調べるプロパティです。このプロパティを使うと配列に格納している最後の値を調べることができます。
void main(){ var numbers = [1, 2, 3]; print(numbers.last); }
isEmpty
配列に値が格納されているかどうか調べプロパティです。このプロパティを使うと配列に値を格納しているか調べことができます。ちなみに、値がない場合trueです。
void main(){ var numbers = []; print(numbers.isEmpty); }
length
配列の値を長さを数えるプロパティです。このプロパティを使うと配列に格納している値の数を数えることができます。
void main(){ var numbers = [1, 2, 3]; print(numbers.length); }
reversed
配列の値を逆に並び替えるプロパティです。このプロパティを使うと配列に格納している値を逆順に並び替えることができます。
void main(){ var numbers = [1, 2, 3]; print(numbers.reversed); }
Listのメソッド
add(E value)
配列の値を最後に一つだけ追加するメソッドです。このメソッドを使うと配列の値を他の配列の最後に一つだけ追加することができます。
void main(){ var numbers = [1, 2, 3]; numbers.add(4); print(numbers); }
addAll(List<E> List)
配列の値を最後に追加するメソッドです。このメソッドを使うと配列の値を他の配列の最後に追加することができます。
void main(){ var numbers = [1, 2, 3]; numbers.addAll([4, 5, 6]); print(numbers); }
insert(int index, E element)
キーで指定した位置に配列の値を追加することができます。第一引数に新しい要素を挿入するキー、第二引数に挿入する値を代入します。
void main(){ var numbers = [1, 2, 3]; numbers.insert(0, -1); print(numbers); }
insert.All(index, List<E> value)
配列の値を追加するメソッドです。このメソッドを使うと第一引数に指定した場所(キー)に配列を追加することができます。
void main(){ var numbers = [1, 2, 3]; numbers.insertAll(0, [-2, -1, 0]); print(numbers); }
remove(Object? value)
配列のキーを指定した値を削除するメソッドです。このメソッドを使うと配列のキーを指定した値を削除することができます。同じ値が複数個ある場合はキーの低い方が削除されます。
void main(){ var numbers = [1, 2, 3, 2]; numbers.remove(2); print(numbers); } //出力 //[1, 3, 2]
removeAt(int index)
配列の最初の値を削除するメソッドです。このメソッドを使うと配列の最初の値を削除することができます。
void main(){ var numbers = [1, 2, 3]; numbers.removeAt(0); print(numbers); } //出力 //[2, 3]
removeLast()
配列の最後の値を削除するメソッドです。このメソッドを使うと配列の最後の値を削除することができます。
void main(){ var numbers = [1, 2, 3]; print(numbers.removeLast()); print(numbers); } //出力 //3 //[1, 2]
clear()
配列の値を全て削除するメソッドです。このメソッドを使うと配列の値を全て削除することができます。
void main(){ var numbers = [1, 2, 3]; numbers.clear(); print(numbers); } //出力 //[]
indexOf(E element, [int start = 0])
指定した配列に要素が配列にない場合は「-1」、指定した配列に要素がある場合はキーを返します。また、同じ値の要素が複数個ある場合はキーの低い方が返ります。
void main(){ var fruit = ['apple', 'banana', 'grape', 'banana']; print(fruit.indexOf('banana')); } //出力 //1
shuffle()
配列の値を全てシャッフルするメソッドです。このメソッドを使うと配列の値を全てランダムに並び替えることができます。
void main(){ var number = [1, 2, 3]; number.shuffle(); print(number); } //出力(例) //[2, 1, 3]
generate()
ジェネレータで指定した数だけ、要素を生成するメソッドです。このメソッドを使うと指定した分だけ要素を生成し、配列に格納しています。
void main(){ var generatedItems = List.generate(5, (index) => 'Hello $index'); for (var item in generatedItems) { print(item); }} //出力 //Hello 0 //Hello 1 //Hello 2 //Hello 3 //Hello 4
num
https://api.dart.dev/stable/2.18.0/dart-core/num-class.html
void main() { var numbers = [1, 2, 3, 4, 5]; numbers.forEach((num) { print(num); }); }
参考
https://www.choge-blog.com/programming/dart-list-elementcount/