Membuat set
Termasuk bagian Logika dan Alur dalam perjalanan Dart di Coddy. Pelajaran 18 dari 65.
Sekarang setelah kamu memahami apa itu Set, mari pelajari cara membuatnya. Di Dart, kamu membuat Set menggunakan kurung kurawal {} dengan elemen-elemen yang dipisahkan oleh koma, mirip dengan cara menulis himpunan matematika.
Set<String> colors = {'red', 'blue', 'green'};
print(colors); // {red, blue, green}Penting untuk tidak mencampuradukkan sintaks ini dengan pembuatan Map. Meskipun keduanya menggunakan kurung kurawal, Set hanya berisi nilai, sedangkan Map berisi pasangan kunci-nilai yang dipisahkan oleh titik dua. Set kosong harus dideklarasikan secara eksplisit dengan tipe untuk membedakannya dari Map kosong.
Set<String> emptySet = <String>{}; // Set kosong
Map<String, int> emptyMap = {}; // Map kosongKamu juga bisa membuat Set dengan nilai duplikat, tetapi ingat, nilai duplikat akan dihapus secara otomatis sehingga hanya elemen unik yang tersisa dalam koleksi akhir.
Tantangan
MudahBuat program yang mengelola sistem pemberian tag blog dengan membuat Set berisi tag unik untuk sebuah posting blog. Programmu harus:
- Membaca input string yang berisi judul posting blog
- Membaca beberapa input string yang berisi tag untuk ditambahkan ke posting (input akan berakhir saat kamu menerima
"done") - Membuat Set berisi string untuk menyimpan tag unik
- Menambahkan setiap tag ke Set (duplikat akan dihapus secara otomatis)
- Mencetak hasil pemberian tag blog dengan format persis seperti yang ditampilkan di bawah
Misalnya, jika judul blog adalah "Introduction to Dart Programming" dan tag-nya adalah "programming", "dart", "tutorial", "programming", "beginner", programmu harus menghasilkan output:
Blog Post: Introduction to Dart Programming
Tags added: [programming, dart, tutorial, programming, beginner]
Unique tags: {programming, dart, tutorial, beginner}
Total unique tags: 4
Status: Blog post tagged successfullyJika judul blog adalah "Web Development Tips" dan tag-nya adalah "web", "html", "css", "web", "html", "javascript", programmu harus menghasilkan output:
Blog Post: Web Development Tips
Tags added: [web, html, css, web, html, javascript]
Unique tags: {web, html, css, javascript}
Total unique tags: 4
Status: Blog post tagged successfullyJika judul blog adalah "Getting Started" dan tag-nya adalah "guide", "basics", programmu harus menghasilkan output:
Blog Post: Getting Started
Tags added: [guide, basics]
Unique tags: {guide, basics}
Total unique tags: 2
Status: Blog post tagged successfullyProgrammu harus membuat Set menggunakan sintaks kurung kurawal {} dan menunjukkan cara Set menghapus duplikat secara otomatis. Simpan semua tag input terlebih dahulu dalam list untuk menunjukkan apa yang awalnya dimasukkan, lalu buat Set untuk menampilkan tag unik. Set harus menampilkan isinya dalam format Set standar dengan kurung kurawal.
Coba sendiri
import 'dart:io';
void main() {
// Baca judul postingan blog
String? title = stdin.readLineSync();
// Baca tag hingga "done" dimasukkan
List<String> allTags = [];
String? tag;
while ((tag = stdin.readLineSync()) != "done") {
if (tag != null) {
allTags.add(tag);
}
}
// TODO: Tulis kodemu di sini
// Buat Set dari list tag untuk mendapatkan tag unik
// Hitung jumlah tag unik
// Tampilkan hasilnya
print("Blog Post: $title");
print("Tags added: $allTags");
// Cetak tag unik dalam format Set
// Cetak jumlah tag unik
// Cetak pesan status
}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