Menu
Coddy logo textTech

Eine Liste umkehren

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

Manchmal müssen Sie die Elemente einer Liste in umgekehrter Reihenfolge anzeigen. Dart bietet die Eigenschaft .reversed, die eine umgekehrte Ansicht Ihrer Liste erstellt, ohne die ursprüngliche Liste zu ändern.

Die Eigenschaft .reversed gibt ein Iterable 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 zurückgibt, keine Liste. Wenn Sie damit als Liste arbeiten müssen, können Sie es mit .toList() umwandeln. Diese Eigenschaft ist besonders nützlich, wenn Sie Daten in umgekehrter Reihenfolge verarbeiten müssen, während Ihre ursprüngliche Liste unverändert bleibt.

challenge icon

Aufgabe

Einfach

Erstellen Sie ein Programm, das eine Leseliste analysiert, indem es Bücher sowohl in ihrer ursprünglichen als auch in umgekehrter Reihenfolge anzeigt. Ihr Programm sollte:

  1. Einen String-Input einlesen, der den Titel der Leseliste darstellt
  2. Mehrere String-Inputs einlesen, die Buchtitel darstellen (die Eingabe endet, wenn Sie einen leeren String erhalten)
  3. Die Eigenschaft .reversed verwenden, um eine umgekehrte Ansicht der Bücherliste zu erstellen
  4. Die Analyse der Leseliste exakt in dem unten gezeigten Format ausgeben

Wenn zum Beispiel der Titel der Leseliste "Summer Reading" ist und die Bücher "1984", "To Kill a Mockingbird", "The Great Gatsby" sind, sollte Ihr 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" ist und nur ein Buch "Animal Farm" angegeben wird, sollte Ihr Programm Folgendes ausgeben:

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

Ihr Programm muss die Eigenschaft .reversed verwenden, um die Bücher in umgekehrter Reihenfolge anzuzeigen. Denken Sie daran, dass .reversed ein Iterable zurückgibt. Wenn Sie dieses ausgeben, wird es mit runden Klammern anstelle von eckigen Klammern angezeigt.

Spickzettel

Verwenden Sie die .reversed-Eigenschaft, um Listenelemente in umgekehrter Reihenfolge anzuzeigen, ohne die ursprüngliche Liste zu ändern:

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]

Die .reversed-Eigenschaft gibt ein Iterable zurück, keine Liste. Um es wieder in eine Liste umzuwandeln, verwenden Sie .toList().

Probier es selbst

import 'dart:io';

void main() {
  // Titel der Leseliste einlesen
  String? title = stdin.readLineSync();
  
  // Buchtitel einlesen, bis eine leere Zeichenfolge eingegeben wird
  List<String> books = [];
  String? book;
  while ((book = stdin.readLineSync()) != null && book!.isNotEmpty) {
    books.add(book);
  }
  
  // TODO: Schreiben Sie Ihren Code hier
  // Verwenden Sie die Eigenschaft .reversed, um eine umgekehrte Ansicht der Bücherliste zu erstellen
  // Geben Sie 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