
メモ帳みたいなのを作りたいんだけど、こんな感じどうよ?





お菓子ばかりで健康が気になるよ…。



ただこのコード、お菓子がもっと買いたくなったらどうなるかな?



kaumono4、kaumono5と変数を増やしていくしかないかなぁ。



こういうときはListを使って変数を複数使わずにまとめることができるよ!
型のひとつであるList型を使うことによって一つの変数で複数の値を持つことができます!そのリストについて今回は解説していきます。
前回のDart入門記事はこちら!
【Dart】リスト(List型)とは?
リストとは同じ型の値をまとめて管理するものになります!



同じ型っていうのは例えばString型とかint型とか?



そう!複数のString型をまとめてひとつのリスト、つまりList型の変数に入れることができるよ!
【Dart】リストの書き方・使い方
Listの書き方・使い方はこのようにします。
まずは宣言です。
List<まとめて管理したい型> 変数名;
String型をまとめて持ちたい場合はこのように書きます。
List<String> 変数名;



これでこの変数は複数のString型を持てるんだね!
初期値を入れるにはこのようにします。
リストの変数 = [値1,値2,...]
宣言と初期化は同時にできます。
以下は先ほどのコードをリストにして宣言と初期化をした例になります。
List<String> kaumono = ["ポテチ","チョコ","おせんべい"]



これで買いたいものが増えてもひとつの変数でなんとかなるね!でも値を入れたり取り出したりするときはどうするのかな?



その時は入れた順番の番号を指定しよう。値を要素ともいうから、その順番の番号を要素番号というね。
要素番号の注意点として、番号は0から始まるというものです。つまり上の例でいうとチョコを取り出したいときは2番目だけど1を指定します。要素番号の指定方法は以下のようになります!
kaumono[要素番号]



よっしゃ~さっきのコードを書き直すよ~!


【Dart】様々なリストの機能を使おう!
indexOf



要素から要素番号を見つける方法はないのかな?
indexOfを使えば、リスト内に要素と同じ値があった場合その要素番号を返します。ない場合は-1を返します。
リスト変数.indexOf(値)


複数ヒットした場合は最初に出てきた要素の番号を返します。
length



lengthはリストの要素数を取得できるよ!
リスト変数.length





要素番号でなくて、全部の要素の数というところに注意だね!
add



要素数を増やすことはできるのかな?買い物リストに買うものを追加したいな。
要素を新たに追加するにはaddを利用します。要素はリストの一番後ろに追加されます。
リスト変数.add(要素の値)
insert



うーんaddだと後ろについちゃうんだけど、いちばん前、つまり追加する要素の要素番号0にしたいとかもできるのかな?
できます!それにはinsertを使います。
リスト変数.insert(追加後の要素番号,要素の値)
removeAt



間違えて追加したらどうすればいいの~消せる~?
もちろん消せます!削除するにはremoveAtを使います。
リスト変数.removeAt(要素番号)



よ~し、じゃあadd、insert、removeAtの使い方をおさらいしようか!
追加、挿入、削除のコードの例です。


結果はこうなります!


リストを使って複数の値をまとめて扱おう!



う~んいい感じでお買い物メモの追加や削除ができたよ!



そうだね!最初のうちは要素番号が0から始まることだけ注意していこうね!



まとめて値を扱えたなら、それを一気に操作できたらいいのにね!



いい着眼点だね!それができるようになるループを次回やっていこう!
■参考文献
コメント