Tutorial C# ArrayList dengan Contoh

โšก Ringkasan Cerdas

ArrayList di C# adalah koleksi dinamis dari namespace System.Collections yang menyimpan elemen sebagai objek. Tidak seperti array, ia dapat bertambah dan berkurang ukurannya saat runtime dan dapat menyimpan bilangan bulat, string, dan nilai Boolean bersama-sama dalam satu daftar.

  • ๐Ÿ”„ Ukuran dinamis: ArrayList menambahkan dan menghapus elemen saat runtime, sehingga Anda tidak perlu menentukan jumlah item terlebih dahulu seperti pada array.
  • ๐Ÿ“ฆ Penyimpanan objek: Setiap elemen disimpan sebagai objek, yang memungkinkan satu ArrayList untuk menyimpan tipe data campuran seperti int, string, dan bool.
  • โž• Metode inti: Add, Insert, Remove, RemoveAt, Contains, dan Sort mencakup operasi sehari-hari pada ArrayList.
  • ๐Ÿ“Š Jumlah dan Kapasitas: Properti Count mengembalikan jumlah item saat ini, sedangkan Capacity adalah ruang penyimpanan yang dialokasikan.
  • โœ… Pilihan modern: Microsoft Merekomendasikan List generik untuk kode baru karena menambahkan keamanan tipe pada waktu kompilasi dan menghindari boxing.
  • ๐Ÿค– Bantuan AI: GitHub Copilot membuat kerangka kode ArrayList, dan pipeline ML.NET meneruskan data melalui tipe koleksi C#.

ArrayList C#

Apa itu ArrayList di C#?

Koleksi ArrayList mirip dengan Array tipe data di C#. Perbedaan terbesar adalah sifat dinamis dari kumpulan daftar array.

Untuk array, Anda perlu menentukan jumlah elemen yang dapat ditampung array pada saat deklarasi array. Namun, dalam kasus koleksi Array List, hal ini tidak perlu dilakukan sebelumnya. Elemen dapat ditambahkan atau dihapus dari koleksi Array List kapan saja. Mari kita lihat operasi yang tersedia untuk koleksi array list secara lebih rinci.

Deklarasi Daftar Array

Deklarasi ArrayList disediakan di bawah ini. Daftar array dibuat dengan bantuan Tipe Data ArrayList. Kata kunci โ€œbaruโ€ digunakan untuk membuat objek ArrayList. Objek tersebut kemudian ditugaskan ke variabel a1. Jadi sekarang variabel a1 akan digunakan untuk mengakses berbagai elemen daftar array.

ArrayList a1 = new ArrayList()

Menambahkan elemen ke array

Metode add digunakan untuk menambahkan elemen ke ArrayList. Metode add dapat digunakan untuk menambahkan elemen tipe data apa pun ke daftar array. Jadi Anda bisa menambahkan Integer, atau string, atau bahkan nilai Boolean ke daftar array. Sintaks umum metode penjumlahan diberikan di bawah ini

ArrayList.add(element)

Di bawah ini adalah beberapa contoh bagaimana metode โ€œtambahโ€ dapat digunakan. Metode add dapat digunakan untuk menambahkan berbagai tipe data ke kumpulan Daftar Array.

Di bawah ini Anda dapat melihat contoh bagaimana kita dapat menambahkan String Integer dan bahkan nilai Boolean ke koleksi Daftar Array.

  • a1.add(1) โ€“ Ini akan menambahkan nilai Integer ke koleksi
  • a1.add(โ€œContohโ€) โ€“ Ini akan menambahkan nilai String ke koleksi
  • a1.add(true) โ€“ Ini akan menambahkan nilai Boolean ke koleksi

Sekarang mari kita lihat ini berfungsi pada tingkat kode. Semua kode yang disebutkan di bawah akan ditulis ke aplikasi Konsol kami. Kode akan ditulis ke file Program.cs kami.

Pada program di bawah ini, kita akan menulis kode untuk membuat daftar array baru. Kami juga akan menunjukkan cara menambahkan elemen dan menampilkan elemen daftar Array.

Daftar Array di C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   ArrayList a1 = new ArrayList();
   a1.Add(1);
   a1.Add("Example");
   a1.Add(true);
   
   Console.WriteLine(a1[0]);	  
   Console.WriteLine(a1[1]);
   Console.WriteLine(a1[2]);
   Console.ReadKey();
  }
 }
}

Code Penjelasan:-

  1. Langkah pertama digunakan untuk mendeklarasikan Daftar Array kita. Di sini kita mendeklarasikan a1 sebagai variabel untuk menampung elemen daftar array kita.
  2. Kami kemudian menggunakan kata kunci add untuk menambahkan nomor 1, String โ€œContohโ€ dan nilai Boolean 'true' ke daftar array.
  3. Kami kemudian menggunakan metode Console.WriteLine untuk menampilkan nilai setiap elemen daftar array ke konsol. Anda akan melihat bahwa sama seperti array, kita dapat mengakses elemen melalui posisi indeksnya. Jadi untuk mengakses posisi pertama Daftar Array, kita menggunakan posisi indeks [0]. Dan seterusnya dan seterusnya.

Jika kode di atas dimasukkan dengan benar dan program dijalankan, output berikut akan ditampilkan.

Keluaran:

Daftar Array di C#

Dari outputnya, Anda dapat melihat bahwa semua elemen dari daftar array dikirim ke konsol.

Mari kita lihat beberapa metode lagi yang tersedia sebagai bagian dari ArrayList.

Menghitung

Metode ini digunakan untuk mendapatkan jumlah item dalam koleksi ArrayList. Di bawah ini adalah sintaks umum dari pernyataan ini.

ArrayList.Count() โ€“ Metode ini akan mengembalikan jumlah elemen yang terdapat dalam daftar array.

Mengandung

Metode ini digunakan untuk melihat apakah suatu elemen ada dalam koleksi ArrayList. Di bawah ini adalah sintaks umum dari pernyataan ini

ArrayList.Contains(element) โ€“ Metode ini akan mengembalikan nilai true jika elemen ada dalam daftar, jika tidak maka akan mengembalikan nilai false.

HapusPada

Metode ini digunakan untuk menghapus elemen pada posisi tertentu dalam koleksi ArrayList. Di bawah ini adalah sintaks umum dari pernyataan ini

ArrayList.RemoveAt(index) โ€“ Metode ini akan menghapus elemen dari posisi tertentu dalam Daftar Array.

Sekarang mari kita lihat ini berfungsi pada tingkat kode. Semua kode yang disebutkan di bawah akan ditulis ke aplikasi Konsol kami. Kode akan ditulis ke file Program.cs kami.

Dalam program di bawah ini, kita akan menulis kode untuk melihat bagaimana kita dapat menggunakan metode yang disebutkan di atas.

Daftar Array di C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   ArrayList a1 = new ArrayList();
   a1.Add(1);
   a1.Add("Example");
   a1.Add(true);
   
   Console.WriteLine(a1.Count);
   Console.WriteLine(a1.Contains(2));
   Console.WriteLine(a1[1]);
   a1.RemoveAt(1);
   Console.WriteLine(a1[1]);
   Console.ReadKey();
  }
 }
}

Code Penjelasan:-

  1. Jadi properti pertama yang kita lihat adalah properti Count. Kami mendapatkan properti Count dari daftar array a1 dan kemudian menulisnya ke Konsol.
  2. Pada bagian kedua, kita menggunakan metode Berisi untuk melihat apakah ArrayList a1 berisi elemen 2. Kita kemudian menulis hasilnya ke Konsol melalui perintah Writeline.
  3. Terakhir, untuk menampilkan metode Hapus elemen, kami melakukan langkah-langkah di bawah ini,
    1. Pertama, kita menulis nilai elemen pada posisi Indeks 1 dari daftar array ke konsol.
    2. Kemudian kita menghapus elemen pada posisi Indeks 1 dari daftar array.
    3. Terakhir, kita kembali menulis nilai elemen pada posisi Indeks 1 dari daftar array ke konsol. Serangkaian langkah ini akan memberikan gambaran yang adil apakah metode penghapusan akan berfungsi sebagaimana mestinya.

Jika kode di atas dimasukkan dengan benar dan program dijalankan, output berikut akan ditampilkan.

Keluaran:

Daftar Array di C#

Mengapa nilai terakhir benar?

Jika melihat rangkaian kejadiannya, elemen Contoh dikeluarkan dari array karena berada di posisi 1. Posisi 1 array kemudian digantikan oleh yang ada di posisi 2 tadi yang nilainya 'benar'

Cara Melakukan Perulangan pada ArrayList di C#

Membaca setiap elemen dari sebuah ArrayList adalah tugas yang umum. Karena ArrayList menyimpan item-itemnya sebagai objek, Anda dapat mengunjunginya dengan perulangan foreach atau dengan perulangan for yang menggunakan properti Count. Perulangan foreach adalah cara paling sederhana, karena ia menelusuri setiap item secara berurutan tanpa memerlukan indeks.

Contoh di bawah ini membuat ArrayList berisi string dan mencetak setiap nilai pada barisnya masing-masing. Kode tersebut ditulis dalam file Program.cs dari aplikasi Konsol.

Langkah 1) Impor namespace System.Collections dan buat ArrayList dengan tiga item.

Langkah 2) Gunakan perulangan foreach untuk membaca setiap elemen sebagai objek dan menuliskannya ke konsol.

using System;
using System.Collections;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   ArrayList a1 = new ArrayList();
   a1.Add("Java");
   a1.Add("Python");
   a1.Add("Kotlin");
   foreach (object item in a1)
   {
    Console.WriteLine(item);
   }
   Console.ReadKey();
  }
 }
}

Code Penjelasan:-

  1. Namespace System.Collections diimpor sehingga tipe ArrayList tersedia untuk program.
  2. Tiga nilai string ditambahkan ke ArrayList menggunakan metode Add.
  3. Perulangan foreach membaca setiap item sebagai sebuah objek, dan metode Console.WriteLine mencetaknya pada baris baru.

Saat program dijalankan, program akan mencetak Java, Python, dan Kotlin pada baris terpisah. Perulangan for dengan properti Count akan memberikan hasil yang sama sekaligus memungkinkan Anda menggunakan posisi indeks setiap elemen.

Metode dan Properti ArrayList C#

Kelas ArrayList menyediakan banyak metode dan properti bawaan untuk mengelola elemen-elemennya. Selain menambahkan dan menghapus item, kelas ini dapat mengurutkan, mencari, dan membalikkan koleksi. Anggota yang paling umum tercantum di bawah ini.

Anggota Deskripsi
Add Menambahkan satu elemen ke akhir ArrayList.
Menyisipkan Menambahkan elemen pada posisi indeks tertentu.
Hapus Menghapus kemunculan pertama dari elemen tertentu.
HapusPada Menghapus elemen pada posisi indeks yang diberikan.
Hapus Menghapus semua elemen dari ArrayList.
Jenis Mengurutkan elemen-elemen dalam urutan menaik.
Reverse Reverses adalah urutan elemen-elemen dalam daftar.
Mengandung Mengembalikan nilai true jika elemen yang diberikan ada dalam daftar.
Indeks Mengembalikan posisi indeks dari elemen yang diberikan.
Menghitung Properti yang mengembalikan jumlah elemen yang tersimpan.
Kapasitas Properti yang mengembalikan jumlah elemen yang dapat ditampung oleh daftar.

Anggota-anggota ini memungkinkan Anda untuk menambahkan, mencari, mengurutkan, dan menghapus item tanpa perlu menulis logika sendiri, yang merupakan salah satu keunggulan utama menggunakan koleksi dibandingkan dengan array biasa.

Perbedaan Antara ArrayList dan List di C#

Baik ArrayList maupun tipe generik Daftar Meskipun menyimpan sekelompok item yang dapat bertambah seiring berjalannya waktu, cara penanganan tipe datanya berbeda. Mengetahui perbedaan ini akan membantu Anda memilih yang tepat untuk kode C# modern.

Perbedaan utamanya tercantum di bawah ini:

  • Jenis keamanan: ArrayList menyimpan setiap item sebagai objek, sedangkan List terikat pada satu tipe yang dideklarasikan dan diperiksa pada waktu kompilasi.
  • Kinerja: ArrayList melakukan proses boxing dan unboxing pada tipe data seperti int, yang membutuhkan waktu, sedangkan List menghindari proses boxing untuk kecepatan yang lebih baik.
  • Ruang nama: ArrayList berada di dalam System.Collections, sedangkan List berada di dalam System.Collections.Generic.
  • pengecoran: Membaca dari ArrayList seringkali memerlukan konversi tipe kembali ke tipe aslinya, tetapi List mengembalikan tipe yang benar secara langsung.
  • Rekomendasi: Microsoft Merekomendasikan List untuk pengembangan baru karena lebih aman, lebih cepat, dan lebih mudah dibaca.

Singkatnya, ArrayList berguna untuk memahami kode lama atau penyimpanan tipe data campuran, sedangkan List adalah pilihan yang lebih disukai untuk sebagian besar aplikasi saat ini.

Pertanyaan Umum Demo Slot

Array memiliki ukuran tetap dan menyimpan satu tipe data yang ditetapkan saat deklarasi. ArrayList dapat bertambah dan berkurang ukurannya saat runtime dan menyimpan setiap item sebagai objek, sehingga dapat menyimpan tipe data campuran dalam satu daftar.

ArrayList tidak dihapus, tetapi Microsoft Tidak merekomendasikannya untuk pengembangan baru. Kelas List generik di System.Collections.Generic lebih disukai karena menambahkan keamanan tipe dan kinerja yang lebih baik, sehingga sebagian besar kode C# modern menggunakan List sebagai gantinya.

Karena ArrayList menyimpan item sebagai objek, menambahkan tipe nilai seperti int akan membungkusnya dalam sebuah objek, yang disebut boxing. Membacanya kembali dan melakukan casting ke tipe aslinya disebut unboxing. Kedua langkah tersebut memakan performa, yang dihindari oleh List.

ArrayList mendukung beberapa pembaca sekaligus, tetapi anggota instance tidak dijamin aman untuk multithreading ketika koleksi dimodifikasi. Untuk penulisan multithreading yang aman, bungkus dengan ArrayList.Syncmetode yang dimodernisasi atau gunakan koleksi konkuren sebagai gantinya.

Count adalah jumlah elemen yang saat ini tersimpan dalam ArrayList. Capacity adalah jumlah total elemen yang dapat ditampung sebelum ukurannya berubah. Capacity selalu sama dengan atau lebih besar dari Count dan akan bertambah secara otomatis saat Anda menambahkan item.

Anda dapat menyalin item ke dalam List bertipe kuat dengan metode Cast dan ToList, atau memanggil metode ToArray untuk mendapatkan array objek. Mengonversi ke List generik adalah hal yang umum karena mengembalikan keamanan tipe.

Ya. GitHub Copilot dapat menulis deklarasi ArrayList, menambah dan menghapus panggilan, serta perulangan dari komentar singkat atau nama metode. Seringkali juga menyarankan versi List generik, karena itu adalah koleksi yang direkomendasikan untuk kode C# baru.

ML.NET biasanya membaca data pelatihan melalui koleksi generik seperti List dan IEnumerable, yang dipetakan ke pipeline IDataView-nya. ArrayList non-generik jarang digunakan secara langsung karena koleksi bertipe kuat menjaga data pembelajaran mesin tetap jelas dan aman secara tipe.

Ringkaslah postingan ini dengan: