Menambahkan ke list: insert
Termasuk bagian Logika dan Alur dalam perjalanan Dart di Coddy. Pelajaran 4 dari 65.
Saat kamu perlu menambahkan elemen ke posisi tertentu dalam list, method insert() memberimu kendali yang tepat atas letak elemen baru. Berbeda dengan method add(), yang selalu menambahkan elemen ke akhir list, insert() memungkinkanmu menempatkan elemen di posisi mana pun yang kamu pilih.
method insert() menerima dua parameter: posisi indeks tempat kamu ingin menyisipkan elemen, dan elemen itu sendiri. Saat kamu menyisipkan elemen, semua elemen yang sudah ada di posisi tersebut dan seterusnya bergeser satu posisi ke kanan.
List<String> tasks = ['Buy groceries', 'Walk the dog', 'Read a book'];
// Sisipkan tugas baru di awal (indeks 0)
tasks.insert(0, 'Check emails');
print(tasks); // ['Check emails', 'Buy groceries', 'Walk the dog', 'Read a book']method ini sangat berguna saat urutan elemen penting, seperti daftar prioritas, jadwal, atau situasi apa pun yang mengharuskan kamu mempertahankan urutan tertentu. Kemampuan untuk menyisipkan elemen di posisi mana pun menjadikan insert() alat yang ampuh untuk mengelola koleksi yang berurutan.
Tantangan
MudahBuat program yang mengelola sistem tugas prioritas dengan menyisipkan tugas mendesak pada posisi tertentu dalam daftar tugas yang sudah ada. Programmu harus:
- Membaca input string yang mewakili nama daftar tugas
- Membaca beberapa input string yang mewakili tugas yang sudah ada (input akan berakhir saat kamu menerima string kosong)
- Membaca input string yang mewakili tugas mendesak yang akan disisipkan
- Membaca input integer yang mewakili posisi tempat tugas mendesak harus disisipkan
- Menggunakan method
insert()untuk menambahkan tugas mendesak pada posisi yang ditentukan - Mencetak daftar tugas yang diperbarui dengan format persis seperti yang ditunjukkan di bawah
Misalnya, jika nama daftar tugas adalah "Work Schedule", tugas yang sudah ada adalah "Review documents", "Team meeting", "Submit report", tugas mendesak adalah "Client call", dan posisinya adalah 1, programmu harus menghasilkan:
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: 4Jika nama daftar tugas adalah "Daily Goals", tugas yang sudah ada adalah "Exercise", "Read book", tugas mendesak adalah "Buy groceries", dan posisinya adalah 0, programmu harus menghasilkan:
Task List: Daily Goals
Original tasks: [Exercise, Read book]
Inserted: Buy groceries at position 0
Updated tasks: [Buy groceries, Exercise, Read book]
Total tasks: 3Programmu harus menggunakan method insert() untuk menambahkan tugas mendesak pada posisi yang ditentukan. Input posisi akan selalu berupa indeks yang valid (antara 0 dan panjang daftar tugas yang sudah ada).
Coba sendiri
import 'dart:io';
void main() {
// Baca nama list tugas
String? taskListName = stdin.readLineSync();
// Baca tugas yang sudah ada hingga menemukan string kosong
List<String> tasks = [];
while (true) {
String? task = stdin.readLineSync();
if (task == null || task.isEmpty) {
break;
}
tasks.add(task);
}
// Baca tugas mendesak dan posisinya
String? urgentTask = stdin.readLineSync();
int position = int.parse(stdin.readLineSync()!);
// TODO: Tulis kodemu di bawah ini
// Gunakan method insert() untuk menambahkan tugas mendesak pada posisi yang ditentukan
// Tampilkan hasil dalam format yang diminta
print('Task List: $taskListName');
print('Original tasks: $tasks');
print('Inserted: $urgentTask at position $position');
// Tampilkan tugas yang sudah diperbarui dan jumlah totalnya
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Manipulasi list Tingkat Lanjut
Properti list: first dan lastStatus list: isEmpty dan isNotEmpMembalikkan listMenambahkan ke list: insertMenghapus dari list: removeWhereMencari dalam list: indexOfMengurutkan listMengacak listRekap: Pengatur list4Manipulasi Map Lanjutan
Melakukan perulangan pada MapMemeriksa kunci dan nilaiProperti Map: kunci dan nilaiPenambahan Bersyarat: putIfAbsentMenghapus Entri dari MapMap BersarangRingkasan: Pembaruan Inventaris2Operasi Fungsional pada list
Mengubah dengan 'map'Menyaring dengan 'where'Menggunakan '.toList()'Memeriksa Kondisi dengan 'any'Kondisi dengan 'every'Menemukan dengan 'firstWhere'Ulasan: Penyaringan Data5Proyek: Perhitungan Keranjang Belanja
Menyiapkan ProyekMenambahkan Barang ke Keranjang3set
Apa itu set?Membuat setMenambahkan dan menghapus elemen dari setMemeriksa elemen dalam setMengubah list menjadi setGabungan setIrisan setSelisih setRangkuman: Daftar tamu unikLatihan sendiri: Compiler Dart online