Menu
Coddy logo textTech

Hinzufügen zu einer Liste: insert

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

Wenn Sie ein Element an einer bestimmten Position in einer Liste hinzufügen müssen, bietet Ihnen die Methode insert() eine präzise Kontrolle darüber, wohin das neue Element kommt. Im Gegensatz zur Methode add(), die Elemente immer am Ende einer Liste hinzufügt, ermöglicht es Ihnen insert(), ein Element an einer beliebigen von Ihnen gewählten Position zu platzieren.

Die Methode insert() nimmt zwei Parameter entgegen: die Indexposition, an der Sie das Element einfügen möchten, und das Element selbst. Wenn Sie ein Element einfügen, verschieben sich alle vorhandenen Elemente an dieser Position und dahinter um eine Position nach rechts.

List<String> tasks = ['Buy groceries', 'Walk the dog', 'Read a book'];

// Füge eine neue Aufgabe am Anfang ein (Index 0)
tasks.insert(0, 'Check emails');

print(tasks);  // ['Check emails', 'Buy groceries', 'Walk the dog', 'Read a book']

Diese Methode ist besonders nützlich, wenn die Reihenfolge der Elemente eine Rolle spielt, wie zum Beispiel bei Prioritätslisten, Zeitplänen oder in jeder Situation, in der Sie eine bestimmte Sequenz beibehalten müssen. Die Möglichkeit, an jeder beliebigen Position einzufügen, macht insert() zu einem leistungsstarken Werkzeug für die Verwaltung geordneter Sammlungen.

challenge icon

Aufgabe

Einfach

Erstellen Sie ein Programm, das ein Prioritätsaufgabensystem verwaltet, indem es dringende Aufgaben an bestimmten Positionen in einer vorhandenen Aufgabenliste einfügt. Ihr Programm sollte:

  1. Einen String einlesen, der den Namen der Aufgabenliste darstellt
  2. Mehrere Strings einlesen, die vorhandene Aufgaben darstellen (die Eingabe endet, wenn Sie einen leeren String erhalten)
  3. Einen String einlesen, der eine einzufügende dringende Aufgabe darstellt
  4. Einen Integer einlesen, der die Position darstellt, an der die dringende Aufgabe eingefügt werden soll
  5. Die Methode insert() verwenden, um die dringende Aufgabe an der angegebenen Position hinzuzufügen
  6. Die aktualisierte Aufgabenliste in dem unten gezeigten exakten Format ausgeben

Wenn zum Beispiel der Name der Aufgabenliste "Work Schedule" ist, die vorhandenen Aufgaben "Review documents", "Team meeting", "Submit report" sind, die dringende Aufgabe "Client call" ist und die Position 1 ist, sollte Ihr Programm Folgendes ausgeben:

Task List: Work Schedule
Original tasks: [Review documents, Team meeting, Submit report]
Inserted: Client call at position 1
Updated tasks: [Review documents, Client call, Team meeting, Submit report]
Total tasks: 4

Wenn der Name der Aufgabenliste "Daily Goals" ist, die vorhandenen Aufgaben "Exercise", "Read book" sind, die dringende Aufgabe "Buy groceries" ist und die Position 0 ist, sollte Ihr Programm Folgendes ausgeben:

Task List: Daily Goals
Original tasks: [Exercise, Read book]
Inserted: Buy groceries at position 0
Updated tasks: [Buy groceries, Exercise, Read book]
Total tasks: 3

Ihr Programm muss die Methode insert() verwenden, um die dringende Aufgabe an der angegebenen Position hinzuzufügen. Die Positionseingabe wird immer ein gültiger Index sein (zwischen 0 und der Länge der vorhandenen Aufgabenliste).

Spickzettel

Die Methode insert() ermöglicht es Ihnen, ein Element an einer bestimmten Position in einer Liste hinzuzufügen. Sie nimmt zwei Parameter entgegen: die Indexposition und das einzufügende Element.

List<String> tasks = ['Buy groceries', 'Walk the dog', 'Read a book'];

// An Index 0 einfügen (Anfang)
tasks.insert(0, 'Check emails');

print(tasks);  // ['Check emails', 'Buy groceries', 'Walk the dog', 'Read a book']

Wenn Sie ein Element einfügen, verschieben sich alle vorhandenen Elemente an dieser Position und dahinter um eine Position nach rechts. Diese Methode ist nützlich, um geordnete Sammlungen zu verwalten, bei denen die Position wichtig ist.

Probier es selbst

import 'dart:io';

void main() {
  // Aufgabenlistenname lesen
  String? taskListName = stdin.readLineSync();
  
  // Bestehende Aufgaben lesen bis zu einer leeren Zeichenfolge
  List<String> tasks = [];
  while (true) {
    String? task = stdin.readLineSync();
    if (task == null || task.isEmpty) {
      break;
    }
    tasks.add(task);
  }
  
  // Dringende Aufgabe und Position lesen
  String? urgentTask = stdin.readLineSync();
  int position = int.parse(stdin.readLineSync()!);
  
  // TODO: Schreiben Sie Ihren Code unten
  // Verwenden Sie die insert()-Methode, um die dringende Aufgabe an der angegebenen Position hinzuzufügen
  
  // Ergebnisse im erforderlichen Format ausgeben
  print('Task List: $taskListName');
  print('Original tasks: $tasks');
  print('Inserted: $urgentTask at position $position');
  // Aktualisierte Aufgaben und Gesamtzahl ausgeben
}
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