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 posisi elemen baru. Berbeda dengan method add(), yang selalu menambahkan elemen di 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 setelahnya 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']Metode ini sangat berguna saat urutan elemen penting, seperti pada 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 kumpulan yang berurutan.
Tantangan
MudahBuat program yang mengelola sistem tugas prioritas dengan menyisipkan tugas mendesak pada posisi tertentu di dalam list tugas yang sudah ada. Programmu harus:
- Membaca input string yang menunjukkan nama list tugas
- Membaca beberapa input string yang menunjukkan tugas yang sudah ada (input akan berakhir saat kamu menerima string kosong)
- Membaca input string yang menunjukkan tugas mendesak untuk disisipkan
- Membaca input bilangan bulat yang menunjukkan posisi untuk menyisipkan tugas mendesak
- Menggunakan method
insert()untuk menambahkan tugas mendesak pada posisi yang ditentukan - Mencetak list tugas yang sudah diperbarui dalam format persis seperti yang ditunjukkan di bawah ini
Misalnya, jika nama list 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 list 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 list tugas yang sudah ada).
Coba sendiri
import 'dart:io';
void main() {
// Baca nama list tugas
String? taskListName = stdin.readLineSync();
// Baca tugas yang 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()!);
// Simpan tugas awal sebelum menyisipkan tugas baru
String originalTasks = tasks.toString();
// TODO: Tulis kodemu di bawah ini
// Gunakan method insert() untuk menambahkan tugas mendesak pada posisi yang ditentukan
// Cetak hasilnya dalam format yang diminta
print('Task List: $taskListName');
print('Original tasks: $originalTasks');
print('Inserted: $urgentTask at position $position');
// Cetak list tugas yang 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