世界最大級のオンライン学習サービス「Udemy(ユーデミー)」とは?

【Flutter/Dart】Setの使い方|初期化・追加・結合・削除

この記事はこんな人におすすめ!
  • Set(配列)の基本的な使い方が知りたい
  • Setの宣言・初期化の仕方が知りたい
  • Setに要素を追加、異なる配列と結合する方法が知りたい

「Flutter/Dart言語のSetって何?」

今回はDart言語における「Set」の使い方について分かりやすく解説していきます。

目次

Set(配列)とは?

ポイント
  • Setとは配列の一種で一連した複数のデータを格納できる
  • 同じ値の要素を重複して格納できない
  • Listのように要素ごとにインデックスはない

Setとは配列の一種で一連した複数のデータを格納し、後から要素(データ)を取得したり追加したりできます。

SetはListとは異なり同じ値の要素を重複して格納できず、また要素ごとにインデックスはありません。

» Listの使い方|初期化・追加・結合・削除

初期化・要素の取得

Setに格納する値は{}の中に書き、,で値と値を区切ります。

//初期化
Set<データ型> 変数名 = {値1, 値2, 値3};
//使用例
void main() {
  Set<String> alphabet = {'a', 'b', 'c', 'd'};

  alphabet.forEach((item) {
    print(item);
  });
}

//出力結果
//a
//b
//c
//d

追加・結合

Setに要素を追加・結合する主なメソッドは次の通りです。

メソッド意味
add()配列の最後に要素を追加
addAll()配列の最後に異なる配列を追加(重複を除く)
union()2つの配列を結合した配列を返す(重複を除く)

add()

add()で配列の最後に要素を追加できます。

//書き方
Set.add(追加する要素);
//使用例
void main() {
  Set<String> alphabet = {'a', 'b', 'c'};

  alphabet.add('d');
  print(alphabet);
}

//出力結果
//[a, b, c, d]

addAll()

addAll()で配列の最後に異なる配列を追加(結合)できます。

同じ要素が既に存在(重複する場合)は追加されません。

//書き方
Set.addAll(追加する配列);
//使用例
void main() {
  Set<String> alphabet = {'a', 'b', 'c'};
  Set<String> alphabet2 = {'c', 'd', 'e'};

  alphabet.addAll(alphabet2);
  print(alphabet);
}

//出力結果
//[a, b, c, d, e]

union()

union()では2つの配列を結合した配列を返す(重複を除く)

//書き方
Set<データ型> 配列3 = 配列1.union(配列2);
//使用例
void main() {
  Set<String> alphabet = {'a', 'b', 'c'};
  Set<String> alphabet2 = {'c', 'd', 'e'};

  Set<String> alphabet3 = alphabet.union(alphabet2);
  print(alphabet3);
}

//出力結果
//[a, b, c]
//[a, d, b, c]

削除

Setから要素を削除する主なメソッドは次の通りです。

メソッド意味
remove()配列から要素を検索して削除
removeAll()異なる配列と比較して同じ要素を削除
clear()配列を空にする

remove()

remove()で配列から指定した要素を検索して削除できます。

//書き方
Set.remove(削除したい要素);
//使用例
void main() {
  Set<String> alphabet = {'a', 'b', 'c'};

  alphabet.remove('b');
  print(alphabet);
}

//出力結果
//{a, c}

removeAll()

removeAll()では異なる配列と比較して同じ要素を削除できます。

//書き方
Set.removeAll(配列);
//使用例
void main() {
  Set<String> alphabet = {'a', 'b', 'c', 'd'};
  Set<String> alphabet2 = {'c', 'd', 'e'};

  alphabet.removeAll(alphabet2);
  print(alphabet);
}

//出力結果
//{a, d}

clear()

clear()で配列を空にできます。

//書き方
Set.clear();
//使用例
void main() {
  Set<String> alphabet = {'a', 'b', 'c'};

  alphabet.clear();
  print(alphabet);
}

//出力結果
//{}

まとめ

今回はDart言語における「Set」の基本的な使い方について解説しました!

Flutterの配列にはSet以外にも「List」、「Map」などがあります。ぜひ一緒に学習してみてください。

参考サイト

目次