0Pricing
Dart Academy · レッスン

Setと重複しない要素

重複なしで要素を保存する

「Setと重複しない要素」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。

Setとは

Setは、各項目が一意である順序なしのコレクションです。重複を存在させたくない場合に使う便利な道具です。👍

Setを作成する

値を波かっこで囲むとSetを作成できます。Dartは項目を見て、これがMapではなくSetだと判断します。

var colors = {'red', 'green', 'blue'};

空のSetには型が必要

空の波かっこはSetではなく、空のMapを意味します。空のSetを作るには、Dartが意図を把握できるよう型を記述してください。

var tags = <String>{};

重複は自動的に消える

すでに存在する値を追加しても、何も変わりません。Setは各項目を1つだけ保持し、重複を静かに取り除きます。

var nums = {1, 2, 2, 3};

項目を追加する

addを呼び出して値を追加します。すでに存在する値を追加しても、Setは変わらず、エラーも発生しません。

var s = <int>{};
s.add(5);
s.add(5);

項目を削除する

removeを使うと、値を削除できます。項目が存在して削除できた場合はtrue、存在しなかった場合はfalseを返します。

var s = {1, 2, 3};
s.remove(2);

含まれているか確認する

containsメソッドは、はい・いいえで答えられる質問にすばやく答えます。この高速な検索こそが、Setの大きな強みです。

var s = {'a', 'b'};
print(s.contains('a'));

大きさを調べる

lengthプロパティを使うと、現在Setに含まれている一意な項目の数がわかります。

var s = {1, 1, 2, 3};
print(s.length);

Setに順序はない

Set内の項目の順序を当てにしないでください。安定した順序が必要な場合は、代わりにListを使います。

ListからSetへ

リストをSetで囲むと、重複をすぐに取り除けます。値を重複排除する最もすっきりした方法です。

var unique = {1, 2, 2, 3}.toList();

Setをループする

SetはIterableなので、for-inループを使って一意な項目を1つずつすべて処理できます。

for (var c in {'red', 'blue'}) {
  print(c);
}

確認問題

同じ値をSetに2回追加すると、どうなりますか。

まとめ

よくできました。Setは一意で順序のない項目を保持し、add、remove、containsを高速に実行できます。重複が不要な場合はSetを使いましょう。🎉

よくある質問

「Setと重複しない要素」レッスンは無料ですか?

はい。「Setと重複しない要素」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。

「Setと重複しない要素」で何を学びますか?

重複なしで要素を保存する ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Dart Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「Setと重複しない要素」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDart Academyレッスンでコードを書いて実行できますか?

はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Setと重複しない要素
  2. Setの演算:union、intersection、difference
  3. キーと値を格納するMap
  4. エントリ、キー、値の反復処理
← Dart Academyに戻る