Menghapus Elemen
Termasuk bagian Logika dan Alur dalam perjalanan C# di Coddy. Pelajaran 58 dari 66.
method Remove(element) menghapus elemen yang ditentukan dari HashSet, jika elemen tersebut ada. method ini mengembalikan true jika elemen berhasil dihapus, dan false jika elemen tidak ditemukan di set.
Buat HashSet kosong:
HashSet<string> fruits = new HashSet<string>();Tambahkan beberapa elemen ke set:
fruits.Add("Apple");
fruits.Add("Banana");
fruits.Add("Cherry");Set fruits berisi setelah menjalankan kode di atas:
["Apple", "Banana", "Cherry"]Sekarang, hapus "Banana" dari set:
bool wasRemoved = fruits.Remove("Banana");Setelah penghapusan, set berisi:
["Apple", "Cherry"]Nilai wasRemoved akan bernilai true karena "Banana" ditemukan dan dihapus.
Jika kita mencoba menghapus elemen yang tidak ada:
bool wasRemoved = fruits.Remove("Orange");set tetap tidak berubah, dan wasRemoved akan bernilai false.
Tantangan
MudahBuat method bernama RemoveElement yang menerima dua argumen:
- HashSet berisi string (
set) - String (
element) yang akan dihapus
Method tersebut harus mencoba menghapus elemen yang diberikan dari set. Jika elemen berhasil dihapus, cetak "Element removed: True", jika tidak, cetak "Element removed: False". Lalu, cetak set yang sudah diperbarui pada baris baru.
Coba sendiri
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
public class Program
{
public static void RemoveElement(HashSet<string> set, string element)
{
// Tulis kodemu di sini
}
public static void Main()
{
HashSet<string> set = new HashSet<string>();
// Baca baris pertama untuk memeriksa apakah formatnya JSON
string firstLine = Console.ReadLine();
string elementToRemove;
// 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);
// Gunakan regex untuk mencocokkan semua string dalam tanda kutip
MatchCollection matches = Regex.Matches(arrayContent, @"""([^""]*)""");
foreach (Match match in matches)
{
// Tambahkan grup yang ditangkap (tanpa tanda kutip)
if (match.Groups.Count > 1)
{
set.Add(match.Groups[1].Value.Trim());
}
}
// Baca baris kedua untuk mendapatkan elemen yang akan dihapus
string secondLine = Console.ReadLine();
// Periksa apakah elemen berformat string JSON
Match elementMatch = Regex.Match(secondLine, @"""([^""]*)""");
if (elementMatch.Success && elementMatch.Groups.Count > 1)
{
elementToRemove = elementMatch.Groups[1].Value;
}
else
{
elementToRemove = secondLine;
}
}
catch (Exception ex)
{
Console.WriteLine($"Error parsing JSON input: {ex.Message}");
return;
}
}
else
{
// Proses input berformat biasa
string[] elements = firstLine.Split(',');
foreach (string element in elements)
{
set.Add(element.Trim());
}
// Baca elemen yang akan dihapus dalam format biasa
elementToRemove = Console.ReadLine();
}
RemoveElement(set, elementToRemove);
}
}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 error8Sistem Analisis Data
Penyiapan Pengumpulan DataLogika Entri Data11HashSet Bagian 1
Apa itu HashSet?Menambahkan ElemenMenghapus ElemenMemeriksa Keberadaan ElemenKosong dan UkuranRangkuman: HashSet3Peningkatan Loop
Performa LoopIterasi yang KompleksSetiap Jenis LoopRefactoring LoopRangkuman: Loop yang Dioptimalkan6Penanganan Null
Dasar Referensi NullTipe Nilai NullablePola Pemeriksaan NullPemrograman DefensifRingkasan: Keamanan NullLatihan sendiri: Compiler C# online