Dart Academy · レッスン

Setの演算:union、intersection、difference

Setを結合して比較する

レッスン 2/413 ステップ

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

Setで集合演算

Setには数学の考え方が取り入れられています。3つの小さなメソッドを使うだけで、ベン図のようにSetを結合したり比較したりできます。🔵

unionを使う

unionメソッドは2つのSetを1つに結合します。両方のSetにあるすべての項目が含まれ、重複は1つにまとめられます。

var a = {1, 2};
var b = {2, 3};
print(a.union(b));

unionでも一意性は保たれる

両方のSetに同じ値があっても、unionはSetを返すため、結果に重複した項目が入ることはありません。

var r = {1, 2}.union({2, 2, 3});

intersectionを使う

intersectionメソッドは、両方のSetに存在する項目だけを残します。2つのSetに共通するものを調べるメソッドです。

var a = {1, 2, 3};
var b = {2, 3, 4};
print(a.intersection(b));

重なりがなければ空の結果

2つのSetに共通する項目がない場合、intersectionはエラーをスローせず、空のSetを返します。

var r = {1, 2}.intersection({3, 4});

differenceを使う

differenceメソッドは、1つ目のSetには存在するものの、2つ目のSetには存在しない項目を返します。引き算のようなものと考えてください。

var a = {1, 2, 3};
var b = {2};
print(a.difference(b));

ここでは順序が重要

unionとは異なり、differenceは対称ではありません。2つのSetを入れ替えると、結果も変わります。

var x = {1, 2}.difference({2, 3});

結果は新しいSet

これらのメソッドはそれぞれ新しいSetを作成して返します。元のSetはそのまま保たれます。

部分集合を確認する

containsAllを使うと、あるSetが別のSetに完全に含まれているかを確認できます。すべての項目が存在する場合にのみtrueを返します。

var big = {1, 2, 3};
print(big.containsAll({1, 2}));

操作をつなげる

各呼び出しがSetを返すため、操作をつなげて1行にまとめ、より複雑なロジックを表現できます。

var r = {1, 2, 3}.union({4}).difference({1});

実際の使用例

2つのタグのリストを比較する場合、intersectionで共通のタグを見つけ、differenceで片方にしかないタグを確認できます。

var shared = {'a', 'b'}.intersection({'b', 'c'});

確認問題

2つのSetに共通する項目だけを返すメソッドはどれですか。

まとめ

よくできました。結合にはunion、共通する項目の検索にはintersection、差分の取得にはdifferenceを使います。Setの集合演算によって、コードをすっきり保てます。🎯

無料で開始

AI チューターと学ぶ Dart — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「Setの演算:union、intersection、difference」レッスンは無料ですか?

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

「Setの演算:union、intersection、difference」で何を学びますか?

Setを結合して比較する ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「Setの演算:union、intersection、difference」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

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