【Flutter/Dart】Setクラス/使い方/基礎から実践

最終更新日

Dartの基本文であるSetクラスについて調べてまとめました。基礎から実践までサンプルがあります。動かない場合はコメントください。

動かすにはDartpadを使用してください。

Setとは

公式サイト

https://api.flutter.dev/flutter/dart-core/Set-class.html

Setでは異なる値を配列として格納できます。違いについては次の章をご覧ください。

List・Set・Mapの違い

List・Set・Mapの違いは下記の表のようになっています。

違い/型ListSetMap
宣言[]{}{}
要素重複要素を持てる重複要素を持てない重複要素を持てない
順序順序付きコレクションデフォルトは順序付きデフォルトは順序付き
備考1回のみの使用

基本

宣言

//型を指定できる
var Set名 = <型>{};

//変数に入れる場合
var fruit = <String>{};

値を格納

//定義
var num = {値1, 値2, 値3};

サンプル

void main(){
var fruit = {'apple', 'banana', 'grape'};
print(fruit);
}

Setのプロパティ

first

先頭の値を返すプロパティです。このプロパティを使うと先頭の値を取得できます。

void main(){
  var num = {1, 2, 3}; 
print(num.first);
  }

last

最後の値を返すプロパティです。このプロパティを使うと最後の値を取得できます。

void main(){
  var num = {1, 2, 3}; 
print(num.last);
}

isEnpty

要素が空(enpty(nullとは別))かどうか調べるプロパティです。このプロパティを使うと要素の中身が空かどうか調べられます。(enptyの場合はtrue

void main(){
  var number = {};
print(number.isEmpty); 
  }

length

配列の長さ返すプロパティです。このプロパティを使うと配列に格納されている値の数を取得できます。

void main(){
  var number = {1, 2, 3};
print(number.length);
  }

Setのメソッド

elementAt(int index)

配列の指定した値を返すメソッドです。このメソッドを使うと配列に格納されている指定した値を取得できます。

void main(){
  var numbers = {'apple', 'banana', 'grape'};
print(numbers.elementAt(0));
  }

add(E value)

配列の指定した値を最後に格納するメソッドです。このメソッドを使うと配列の最後に値を格納できます。

void main(){
  var numbers = {1, 2, 3};
numbers.add(4);
print(numbers);
}

addAll(Set<E> Set)

配列に指定した配列を格納するメソッドです。このメソッドを使うと配列の最後に追加したい配列を格納できます。

void main(){
  var number = {1, 2, 3};
number.addAll({4, 5, 6});
print(number); 
  }

remove(Object? value)

配列の指定した値を削除するメソッドです。このメソッドを使うと配列の値を削除できます。

void main(){
  var numbers = {1, 2, 3};
numbers.remove(3);
print(numbers); 
}

clear()

配列の値を全て削除するメソッドです。このメソッドを使うと配列の値を全て削除することができます。

void main(){
  var numbers = {1, 2, 3};
numbers.clear();
print(numbers); 
}

実践

参考

https://flutternyumon.com/how-to-use-set/

fem