Mengurutkan list
Termasuk bagian Logika dan Alur dalam perjalanan Dart di Coddy. Pelajaran 7 dari 65.
Saat kamu perlu mengatur elemen dalam list, Dart menyediakan method sort() yang mengurutkan elemen dari nilai terkecil ke terbesar. Method ini sangat berguna untuk mengurutkan nama sesuai abjad atau angka dari yang terkecil hingga terbesar.
method sort() mengubah list asli secara langsung, bukan membuat list baru yang sudah diurutkan. Saat kamu memanggil sort() pada list, method ini mengatur ulang elemen yang sudah ada di tempat.
List<String> names = ['Charlie', 'Alice', 'Bob'];
names.sort();
print(names); // ['Alice', 'Bob', 'Charlie']
List<int> scores = [85, 92, 78, 96];
scores.sort();
print(scores); // [78, 85, 92, 96]method sort() bekerja secara otomatis untuk tipe data umum seperti string dan angka. Untuk string, method ini mengurutkan berdasarkan abjad, sedangkan untuk angka, method ini mengurutkan dari yang terkecil ke terbesar. Dengan begitu, method ini menjadi alat yang mudah digunakan untuk mengatur datamu kapan pun kamu membutuhkan elemen dalam urutan yang bisa diprediksi.
Tantangan
MudahBuat program yang mengelola sistem menu restoran dengan mengatur hidangan ke dalam berbagai kategori. Programmu harus:
- Membaca input string yang mewakili nama restoran
- Membaca beberapa input string yang mewakili nama hidangan (input akan berakhir saat kamu menerima string kosong)
- Menggunakan method
sort()untuk mengurutkan hidangan berdasarkan abjad - Mencetak menu yang sudah diatur dengan format persis seperti yang ditunjukkan di bawah
Misalnya, jika nama restoran adalah "Bella Vista" dan hidangannya adalah "Pasta Carbonara", "Caesar Salad", "Grilled Salmon", "Apple Pie", programmu harus menghasilkan output:
Restaurant: Bella Vista
Original menu: [Pasta Carbonara, Caesar Salad, Grilled Salmon, Apple Pie]
Sorted menu: [Apple Pie, Caesar Salad, Grilled Salmon, Pasta Carbonara]
Total dishes: 4
Status: Menu organized alphabeticallyJika nama restoran adalah "Quick Bites" dan hidangannya adalah "Burger", "Pizza", "Sandwich", programmu harus menghasilkan output:
Restaurant: Quick Bites
Original menu: [Burger, Pizza, Sandwich]
Sorted menu: [Burger, Pizza, Sandwich]
Total dishes: 3
Status: Menu organized alphabeticallyJika nama restoran adalah "Cafe Corner" dan hanya satu hidangan, yaitu "Coffee", yang diberikan, programmu harus menghasilkan output:
Restaurant: Cafe Corner
Original menu: [Coffee]
Sorted menu: [Coffee]
Total dishes: 1
Status: Menu organized alphabeticallyProgrammu harus menggunakan method sort() untuk mengurutkan hidangan berdasarkan abjad. Ingat bahwa sort() mengubah list asli secara langsung, jadi kamu perlu membuat salinan list asli sebelum mengurutkannya jika ingin menampilkan versi asli dan versi yang sudah diurutkan.
Coba sendiri
import 'dart:io';
void main() {
// Baca nama restoran
String? restaurantName = stdin.readLineSync();
// Baca nama hidangan hingga menemukan string kosong
List<String> dishes = [];
String? dish;
while ((dish = stdin.readLineSync()) != null && dish!.isNotEmpty) {
dishes.add(dish);
}
// TODO: Tulis kodemu di bawah ini
// Buat salinan list asli lalu urutkan
// Hitung jumlah hidangan
// Cetak format output yang diminta
// Tampilkan hasilnya
// print("Restaurant: $restaurantName");
// print("Original menu: $dishes");
// print("Sorted menu: $sortedDishes");
// print("Total dishes: $totalDishes");
// print("Status: Menu organized alphabetically");
}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