Menu
CoddyTech

Eine Liste umkehren

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

Manchmal musst du die Elemente einer Liste in umgekehrter Reihenfolge anzeigen. Dart stellt die Eigenschaft .reversed bereit, die eine umgekehrte Ansicht deiner Liste erstellt, ohne die ursprüngliche Liste zu verändern.

Die Eigenschaft .reversed gibt ein iterierbares Objekt zurück, das die Listenelemente in umgekehrter Reihenfolge darstellt. Das bedeutet, dass das letzte Element zuerst erscheint, das vorletzte an zweiter Stelle und so weiter.

List<int> numbers = [1, 2, 3, 4, 5];

var reversedNumbers = numbers.reversed;
print(reversedNumbers);  // (5, 4, 3, 2, 1)

// Die ursprüngliche Liste bleibt unverändert
print(numbers);  // [1, 2, 3, 4, 5]

Ein wichtiges Detail ist, dass .reversed ein Iterable und keine Liste zurückgibt. Wenn du damit als Liste arbeiten musst, kannst du es mit .toList() umwandeln. Diese Eigenschaft ist besonders nützlich, wenn du Daten in umgekehrter Reihenfolge verarbeiten möchtest, während deine ursprüngliche Liste unverändert bleibt.

challenge icon

Aufgabe

Einfach

Erstelle ein Programm, das eine Leseliste analysiert, indem es die Bücher sowohl in ihrer ursprünglichen als auch in umgekehrter Reihenfolge anzeigt. Dein Programm sollte Folgendes tun:

  1. Einen String einlesen, der den Titel der Leseliste darstellt
  2. Mehrere Strings einlesen, die Buchtitel darstellen (die Eingabe endet, wenn du einen leeren String erhältst)
  3. Die Eigenschaft .reversed verwenden, um eine umgekehrte Ansicht der Bücherliste zu erstellen
  4. Die Analyse der Leseliste genau im unten gezeigten Format ausgeben

Wenn der Titel der Leseliste beispielsweise "Summer Reading" lautet und die Bücher "1984", "To Kill a Mockingbird", "The Great Gatsby" sind, sollte dein Programm Folgendes ausgeben:

Reading List: Summer Reading
Books in original order: [1984, To Kill a Mockingbird, The Great Gatsby]
Books in reversed order: (The Great Gatsby, To Kill a Mockingbird, 1984)
Total books: 3

Wenn der Titel der Leseliste "Quick Reads" lautet und nur ein Buch "Animal Farm" angegeben wird, sollte dein Programm Folgendes ausgeben:

Reading List: Quick Reads
Books in original order: [Animal Farm]
Books in reversed order: (Animal Farm)
Total books: 1

Dein Programm muss die Eigenschaft .reversed verwenden, um die Bücher in umgekehrter Reihenfolge anzuzeigen. Denk daran, dass .reversed ein Iterable zurückgibt. Wenn du es also ausgibst, wird es in runden statt in eckigen Klammern angezeigt. Gib books.reversed selbst aus, nicht eine zusammengefügte Zeichenfolge: Bei einer langen Liste kann Darts Ausgabe Elemente in der Mitte durch ... ersetzen, und die Tests erwarten genau diese Darstellung.

Probier es selbst

import 'dart:io';

void main() {
  // Lies den Titel der Leseliste ein
  String? title = stdin.readLineSync();
  
  // Lies Buchtitel ein, bis eine leere Zeichenkette eingegeben wird
  List<String> books = [];
  String? book;
  while ((book = stdin.readLineSync()) != null && book!.isNotEmpty) {
    books.add(book);
  }
  
  // TODO: Schreibe hier deinen Code
  // Verwende die Eigenschaft .reversed, um eine umgekehrte Ansicht der Liste books zu erstellen
  // Gib die Ausgabe im erforderlichen Format aus
  
}
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