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

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

  1. Eine String-Eingabe lesen, die den Titel des Blog-Posts darstellt
  2. Mehrere String-Eingaben lesen, 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 unten gezeigten exakten Format ausgeben

Wenn zum Beispiel der Blog-Titel "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 unter Verwendung der geschweiften Klammern {} Syntax erstellen und demonstrieren, wie Sets Duplikate automatisch entfernen. 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.

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