Dart Setに要素を追加する

Dart Setに要素を追加する

Dartで、Setに要素を追加するコードを記述してます。「add」を使用して追加します。追加される位置は末尾になります。また、定数に使用するとエラーとなります。

環境

  • OS windows11 home
  • Dart 2.18.4

要素を追加

要素を追加するには、「add」を使用します。

セット.add(値)

実際に、使用して追加してみます。

void main() {
  var set = <String>{'aaa'};

  set.add('bbb');
  print(set); // {aaa, bbb}

  set.add('ccc');
  print(set); // {aaa, bbb, ccc}
}

実行結果を見ると、追加されていることが確認できます。

重複した値は追加されません。

void main() {
  var set = <String>{'aaa'};

  set.add('bbb');
  print(set); // {aaa, bbb}

  set.add('bbb');
  print(set); // {aaa, bbb}
}

定数

「const」で宣言したリストに使用するとエラー「Unsupported operation: Cannot modify an unmodifiable list」が発生します。

void main() {
  const set = <String>{'aaa'};

  set.add('bbb');
  print(set);
}
Unhandled exception:
Unsupported operation: Cannot change an unmodifiable set
#0      _UnmodifiableSetMixin._throwUnmodifiable (dart:collection/set.dart:345:5)
#1      _UnmodifiableSetMixin.add (dart:collection/set.dart:349:24)
#2      main (file:///c:/sample/main.dart:4:7)
#3      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297:19)
#4      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)

「final」の場合は、メモリ領域は変更できるためエラーにはなりません。

void main() {
  final set = <String>{'aaa'};

  set.add('bbb');
  print(set); // {aaa, bbb}
}

addAll

「set」に「set」を追加する場合は「addAll」を使用します。

void main() {
  var set1 = <String>{'aaa'};
  var set2 = <String>{'bbb', 'ccc'};

  set1.addAll(set2);

  print(set1); // {aaa, bbb}
}