Menu
Coddy logo textTech

セットとは?

CoddyのDartジャーニー「論理とフロー」セクションの一部 — レッスン 17/65。

Set は、一意の要素を順不同で格納するコレクションデータ構造です。重複する値を含むことができ、要素の順序を保持する List とは異なり、 Set は各要素が一度だけ現れることを自動的に保証します。

ListSet の主な違いは、重複をどのように扱うかです。すでに Set に存在する要素を追加しようとすると、単に重複を無視し、その要素のコピーを1つだけ保持します。

// Listは重複を許可します
List<String> fruits = ['apple', 'banana', 'apple', 'orange'];
print(fruits);  // ['apple', 'banana', 'apple', 'orange']

// Setは自動的に重複を削除します
Set<String> uniqueFruits = {'apple', 'banana', 'apple', 'orange'};
print(uniqueFruits);  // {'apple', 'banana', 'orange'}

この自動的な重複削除機能により、ユーザーIDやメールアドレスの保存、あるいは各項目が一度だけ現れるべきコレクションなど、データの一意性を確保する必要がある場合に Set は特に便利になります。

チートシート

Set は、一意の要素を順不同で格納するコレクションであり、重複を自動的に削除します。

// List は重複を許可します
List<String> fruits = ['apple', 'banana', 'apple', 'orange'];
print(fruits);  // ['apple', 'banana', 'apple', 'orange']

// Set は自動的に重複を削除します
Set<String> uniqueFruits = {'apple', 'banana', 'apple', 'orange'};
print(uniqueFruits);  // {'apple', 'banana', 'orange'}

ユーザーIDやメールアドレスの保存など、データの一意性を確保する必要がある場合に Set を使用してください。

自分で試してみよう

このレッスンにはコードチャレンジは含まれていません。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

論理とフローのすべてのレッスン