Menu
Coddy logo textTech

Ein Set erstellen

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

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

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

Erstellen Sie ein Programm, das ein Blog-Tagging-System verwaltet, indem es ein Set von eindeutigen Tags für einen Blog-Post erstellt. Ihr Programm sollte:

  1. Einen String-Input einlesen, der den Titel des Blog-Posts darstellt
  2. Mehrere String-Inputs einlesen, die Tags darstellen, die dem Post hinzugefügt werden sollen (die Eingabe endet, wenn Sie "done" erhalten)
  3. Ein Set von 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 im exakt unten gezeigten Format ausgeben

Wenn der Blog-Titel beispielsweise "Introduction to Dart Programming" lautet und die Tags "programming", "dart", "tutorial", "programming", "beginner" sind, sollte Ihr 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 Blog-Titel "Web Development Tips" lautet und die Tags "web", "html", "css", "web", "html", "javascript" sind, sollte Ihr 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 Blog-Titel "Getting Started" lautet und die Tags "guide", "basics" sind, sollte Ihr Programm Folgendes ausgeben:

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

Ihr Programm muss ein Set mit der geschweiften Klammer-Syntax {} erstellen und demonstrieren, wie Sets die Entfernung von Duplikaten automatisch handhaben. Speichern Sie alle eingegebenen Tags zuerst in einer Liste, um zu zeigen, was ursprünglich eingegeben wurde, und erstellen Sie dann das Set, um die eindeutigen Tags anzuzeigen. Das Set sollte seinen Inhalt im Standard-Set-Format mit geschweiften Klammern anzeigen.

Spickzettel

Erstellen Sie ein Set mit geschweiften Klammern {}, wobei die Elemente durch Kommas getrennt werden:

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

Deklarieren Sie bei leeren Sets explizit den Typ, um sie von leeren Maps zu unterscheiden:

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

Sets entfernen automatisch doppelte Werte und behalten nur eindeutige Elemente bei.

Probier es selbst

import 'dart:io';

void main() {
  // Blogpost-Titel 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: Schreiben Sie Ihren Code hier
  // Erstellen Sie ein Set aus der Tags-Liste, um eindeutige Tags zu erhalten
  // Berechnen Sie die Gesamtzahl der eindeutigen Tags
  
  // 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