Melakukan Iterasi pada Set
Termasuk bagian Logika dan Alur dalam perjalanan C# di Coddy. Pelajaran 66 dari 66.
Melakukan iterasi pada HashSet memungkinkan kamu mengakses setiap elemen dalam set. Di C#, kamu dapat menggunakan berbagai cara untuk melakukan iterasi melalui HashSet.
Menggunakan foreach loop:
// Buat HashSet
HashSet<string> colors = new HashSet<string>();
// Tambahkan elemen ke HashSet
colors.Add("Red");
colors.Add("Green");
colors.Add("Blue");
// Ulangi setiap elemen dalam HashSet
foreach (string color in colors)
{
Console.WriteLine(color);
}
Ingat bahwa HashSet tidak mempertahankan urutan penyisipan, jadi elemen mungkin tidak diiterasi dalam urutan yang sama seperti saat ditambahkan.
Kamu juga bisa mengonversinya menjadi array atau list terlebih dahulu:
// Ubah menjadi array, lalu iterasi elemennya
string[] colorArray = colors.ToArray();
for (int i = 0; i < colorArray.Length; i++)
{
Console.WriteLine(colorArray[i]);
}
Tantangan
MudahBuat method bernama PrintSetElements yang menerima HashSet berisi bilangan bulat sebagai input. Method tersebut harus melakukan iterasi melalui set dan mencetak setiap elemen pada baris baru.
Contohnya, jika set berisi [5, 2, 8], method-mu harus mencetak:
5 2 8
Coba sendiri
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
class Program
{
public static void PrintSetElements(HashSet<int> set)
{
// Tulis kodemu di sini
}
static void Main(string[] args)
{
HashSet<int> numbers = new HashSet<int>();
// Baca baris pertama untuk memeriksa format
string firstLine = Console.ReadLine();
// Periksa apakah input berformat array JSON
if (firstLine != null && firstLine.StartsWith("[") && firstLine.EndsWith("]"))
{
try
{
// Ambil isi di antara tanda kurung siku
string arrayContent = firstLine.Substring(1, firstLine.Length - 2);
// Coba uraikan isi array JSON
string[] values = Regex.Split(arrayContent, @",\s*");
foreach (string value in values)
{
// Hapus tanda kutip jika ada
string cleanValue = value.Trim();
if (cleanValue.StartsWith("\"") && cleanValue.EndsWith("\""))
{
cleanValue = cleanValue.Substring(1, cleanValue.Length - 2);
}
// Uraikan sebagai bilangan bulat dan tambahkan ke set
if (int.TryParse(cleanValue, out int num))
{
numbers.Add(num);
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error parsing JSON input: {ex.Message}");
return;
}
}
else
{
try
{
// Format tradisional: baca jumlah elemen, lalu elemennya
int count = int.Parse(firstLine);
// Baca setiap elemen dan tambahkan ke set
for (int i = 0; i < count; i++)
{
int num = int.Parse(Console.ReadLine());
numbers.Add(num);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error parsing traditional input: {ex.Message}");
return;
}
}
PrintSetElements(numbers);
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1array Multidimensi
Dasar-Dasar array 2DMendeklarasikan dan Menginisialisasi array 2DMengakses Elemen array 2DPerulangan Bersarang dengan array 2Darray BergerigiOperasi Matriks UmumRangkuman: array Multidimensi4Teknik Alur Kontrol
Pengembalian DiniKlausa PenjagaPernyataan Lompatan (goto)Break dan ContinueMeratakan Percabangan Bersarang7Operator Logika Lanjutan
Evaluasi Hubung SingkatOperator Logika PercabanganPrioritas OperatorRingkasan Operator Lanjutan2Pengambilan Keputusan Tingkat Lanjut
Beberapa KondisiLogika Boolean yang KompleksPerbandingan If dan SwitchPernyataan Switch BersarangUlasan: Pengambilan Keputusan Tingkat Lanjut5Penanganan Exception
Dasar Try-CatchJenis ExceptionBeberapa Blok CatchBekerja dengan fileBlok FinallyUsing vs. Try-FinallyException KustomRingkasan: Penanganan error3Peningkatan Loop
Performa LoopIterasi yang KompleksSetiap Jenis LoopRefactoring LoopRangkuman: Loop yang Dioptimalkan6Penanganan Null
Dasar Referensi NullTipe Nilai NullablePola Pemeriksaan NullPemrograman DefensifRingkasan: Keamanan Null9HashMap Bagian 1
Apa itu HashMap?Deklarasikan HashMapPeriksa Apakah Kunci AdaMengakses NilaiMengubah dictionaryRingkasan HashMap12HashSet Bagian 2
Matematika, Union HashSetMatematika, Irisan HashSetMatematika, Selisih SetMatematika, Selisih SimetrisMelakukan Iterasi pada SetLatihan sendiri: Compiler C# online