プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

【Dart入門】配列の基礎から応用までを説明します

更新日:

記事の内容


この記事では、Dart言語でよく使う配列の基礎的な使い方から応用までを説明します。
簡単なサンプルも書くので、これさえ読めば配列の使い方はバッチリです!

配列はどんな時に使うの?

配列とは複数のデータを扱うためのデータ型です。
そのため、実装中に、「同じようなことをしているかも?」と疑問に感じた時は、配列を使うことを検討してみましょう。
以下ような、「値を倍にするコード」を書く時を例にとって説明します。

配列を使ったコードの方が短いですし、新しい値を追加する時にも、配列に値を追加するだけで済みます。

ここがポイント!

  • 何度も同じ処理が出てきたら、配列を使うことを考えてみよう
  • 配列を使うと処理が短くなります
  • 配列を使うと、コードを変更しやすくなります

配列の書き方

では、実際に配列の書き方を見ていきます。
配列を作成する方法には、new Listと、[](角括弧)の2つがあります。

配列に値を格納することで、0から順番に0,1,2という添字(そえじ)が割り振られます。
添字とは、要素番号と考えて下さい。

Listを定義するさいには、String、int、doubleといった型を指定することもできます。
型を指定した場合は、その型以外の値を入れようとすると、エラーが出ます。

ここがポイント!

  • 配列は、new Listか、[](角括弧)で作成できる
  • 配列に値を格納することで、0から順番に0,1,2という添字が割り振られる

配列の中身の見方と範囲で切り出す(sublist)

配列に要素を追加、取り出し(add, removeLast, insert, removeAt, addAll)

配列に値をいっぺんに入れることもできます。
この例では、配列(List)に入れる型も指定しています。
型を指定しておくことで、他の値を誤って入れることを防ぐことができます。
このエラーは、Stringのリストに数字を入れた時に出たものです。

Error: The argument type 'int' can't be assigned to the parameter type 'String'.
names.add(1);

連想配列とは?

連想配列は、値を格納して自動的に添字の番号(0, 1, 2)が割り振られる配列とは異なります。
その代わりに、番号ではなくキーとなる名前をつけることができます。
番号の代わりにキーとなる名前をつけることにより、そのキーを指定して値を取り出すことができます。

連想配列の書き方と中身の確認

Mapか{}で作成することができます。

連想配列の値を変更したり要素を追加する

多次元配列とは?

多次元配列とは、配列の中に配列が入っている状態のことです。

多次元配列の書き方と中身の見方

Set(重複を許さない配列)とは?

Setとは、重複を許さない配列のようなものです。
ただし、Setに入った値の順序は保証されません。

Setは、Listから作成することもできます。

応用編

配列の値を検索(any, every)

配列を結合(from, expand)

Dart 2.3からは、リストの中にリストを展開するスプレッド記法も使えます。

配列の最大値と最小値を求める

配列の値を置換(replaceRange)

配列の値を並び替える(sort, reverse)

配列の値をフィルタリング(map, where, firstWhere, singleWhere)

関数型(whereなどの関数)の便利さを理解しよう

'100\t200\t300\t1\t2\t3';

この文字列を「\t」で分割して、100以上の数字だけを「,」だけで連結させてみます。

100,200,300

まとめ

この記事では、Dartの配列操作について説明しました。

Good luck for your engineer life!

【Dart入門】forを使ったループ処理の説明

30代からプログラミングを始めようか迷っている人は、この記事を読んで下さい

30代からプログラミングを始めることは可能なのか?【頑張ればギリギリセーフ】

エンジニアは人気の職種だと聞いていますが、若い人達が多い印象です。 30代から始めても間にあいますか? 2030年には79万人のエンジニアが不足 まずは、今後、10年間以上に渡るエンジニアの需給について確認しましょう。 自分の身を預けたいと ...

続きを見る


プログラミングスクールに行くか迷っている人は、この記事を読んで下さい

なんとなく、エンジニアになりたい人が無料のプログラミングスクールに行くべき理由【2019年12月の最新】

有料や無料のプログラミングスクールが多すぎて、どこにしようか迷っています。 無料のプログラミングスクールは、お得そうに見えますが、実際の所はどうですか? メリットやデメリットなどがあれば教えて下さい。 無料のスクールを推す理由 まずは、私が ...

続きを見る


自分がプログラミングスクールに行っても大丈夫か知りたい人は、この記事を読んで下さい

プログラミングスクールに通って挫折する人と上手くいく人の違い

スクールに通っている人の3パターン プログラミングスクールに通っている人のパターンを整理すると、以下の3パターンに分かれます。 それぞれのタイプの特徴を、もう少し詳細に説明していきます。 それぞれのタイプの特徴 大した努力をせずに文句ばかり ...

続きを見る


ゼロからWebエンジニアになりたい人は、この記事を読んで下さい

ゼロからWebエンジニアとして就職する方法【何もない自分に積み上げていく】

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 私が定義するWebエンジニア まず、最初に以下の図を見て下さい。 これが、Web業界で働く人達の大分類です ...

続きを見る


独学で実務っぽい経験を積みたい人は、この記事を読んで下さい

エンジニアが独学で実務経験っぽいことを学ぶ方法

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? スクールの理想と現実 これからプログラミングを学ぼうとしている人が描 ...

続きを見る

関連コンテンツ

-Dart, プログラミング

Copyright© プログラミング道場 , 2020 All Rights Reserved Powered by AFFINGER4.