Menu
Coddy logo textTech

Ein Set erstellen

Teil des Abschnitts Logik & Ablauf der Dart-Journey von Coddy. Lektion 18 von 65.

Nachdem Sie nun verstehen, was ein Set ist, lernen wir nun, wie man eines erstellt. In Dart erstellen Sie ein Set mit geschweiften Klammern {}, wobei die Elemente durch Kommas getrennt werden, ähnlich wie man eine mathematische Menge schreiben würde.

Set<String> colors = {'red', 'blue', 'green'};
print(colors);  // {red, blue, green}

Es ist wichtig, diese Syntax nicht mit der Erstellung einer Map zu verwechseln. Obwohl beide geschweifte Klammern verwenden, enthält ein Set nur Werte, während eine Map Schlüssel-Wert-Paare enthält, die durch Doppelpunkte getrennt sind. Ein leeres Set muss explizit mit einem Typ deklariert werden, um es von einer leeren Map zu unterscheiden.

Set<String> emptySet = <String>{};  // Leeres Set
Map<String, int> emptyMap = {};     // Leere Map

Sie können auch ein Set mit doppelten Werten erstellen, aber denken Sie daran, dass Duplikate automatisch entfernt werden, sodass nur eindeutige Elemente in der endgültigen Sammlung verbleiben.

challenge icon

Aufgabe

Einfach

Erstelle ein Programm, das ein Blog-Tagging-System verwaltet, indem es ein Set eindeutiger Tags für einen Blogbeitrag erstellt. Dein Programm sollte:

  1. Einen String einlesen, der den Titel des Blogbeitrags darstellt
  2. Mehrere Strings einlesen, die die Tags darstellen, die dem Beitrag hinzugefügt werden sollen (die Eingabe endet, sobald du "done" erhältst)
  3. Ein Set aus Strings erstellen, um die eindeutigen Tags zu speichern
  4. Jeden Tag zum Set hinzufügen (Duplikate werden automatisch entfernt)
  5. Die Ergebnisse des Blog-Taggings exakt im unten gezeigten Format ausgeben

Wenn der Blogtitel beispielsweise "Introduction to Dart Programming" lautet und die Tags "programming", "dart", "tutorial", "programming", "beginner" sind, sollte dein Programm Folgendes ausgeben:

Blog Post: Introduction to Dart Programming
Tags added: [programming, dart, tutorial, programming, beginner]
Unique tags: {programming, dart, tutorial, beginner}
Total unique tags: 4
Status: Blog post tagged successfully

Wenn der Blogtitel "Web Development Tips" lautet und die Tags "web", "html", "css", "web", "html", "javascript" sind, sollte dein Programm Folgendes ausgeben:

Blog Post: Web Development Tips
Tags added: [web, html, css, web, html, javascript]
Unique tags: {web, html, css, javascript}
Total unique tags: 4
Status: Blog post tagged successfully

Wenn der Blogtitel "Getting Started" lautet und die Tags "guide", "basics" sind, sollte dein Programm Folgendes ausgeben:

Blog Post: Getting Started
Tags added: [guide, basics]
Unique tags: {guide, basics}
Total unique tags: 2
Status: Blog post tagged successfully

Dein Programm muss ein Set mithilfe der Syntax mit geschweiften Klammern {} erstellen und zeigen, wie Sets automatisch mit der Entfernung von Duplikaten umgehen. Speichere zunächst alle eingegebenen Tags in einer Liste, um zu zeigen, was ursprünglich eingegeben wurde, und erstelle anschließend das Set, um die eindeutigen Tags anzuzeigen. Das Set sollte seinen Inhalt im standardmäßigen Set-Format mit geschweiften Klammern anzeigen.

Probier es selbst

import 'dart:io';

void main() {
  // Den Titel des Blogposts lesen
  String? title = stdin.readLineSync();
  
  // Tags lesen, bis "done" eingegeben wird
  List<String> allTags = [];
  String? tag;
  while ((tag = stdin.readLineSync()) != "done") {
    if (tag != null) {
      allTags.add(tag);
    }
  }
  
  // TODO: Schreibe deinen Code hier
  // Erstelle ein Set aus der Liste der Tags, um eindeutige Tags zu erhalten
  // Berechne die Gesamtzahl der eindeutigen Tags
  
  // Die Ergebnisse ausgeben
  print("Blog Post: $title");
  print("Tags added: $allTags");
  // Eindeutige Tags im Set-Format drucken
  // Gesamtzahl der eindeutigen Tags drucken
  // Statusmeldung drucken
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-Dart-Compiler