Tuesday, March 24, 2020

Collection pada C#





Membuat Collection Object

Berbeda dengan Array, Collection menyediakan cara yang lebih effisien dalam pengelompokan object. Ukuran Collection bersifat Dinamis, jadi dapat membesar dan menyusut meyesuaikan banyaknya object yang di kelompokan. Ada banyak class yang tersedia Collections pada bahasa pemrograman C#. Di bawah ini adalah beberapa contoh program yang menggunakan Collections.

Collection terbagi menjadi 2 yaitu :
  1. Generic
  2. Non-Generic

Generic Collection C#

Generic Collection digunakan apabila Element dalam Collection mempunyai tipe data yang sama. Net framework menyediakan beberapa Class Generic Collection, yang berguna untuk menyimpan maupun memanipulasi Data, diantaranya adalah :

Untuk menggunakan class dibawah, kamu harus menggunakan: Using System.Collection.Generic.

  • List <T>
Generic List <T> berisi elemen dari tipe yang ditentukan. Itu tumbuh secara otomatis saat Anda menambahkan elemen di dalamnya.
  • Dictionary<TKey,TValue>
Dictionary <TKey, TValue> berisi pasangan nilai kunci.
  • SortedList<TKey,TValue>
SortedList menyimpan pasangan kunci dan nilai. Secara otomatis menambahkan elemen dalam urutan kunci secara default.
  • Hashset<T>
Hashset <T> mengandung elemen non-duplikat. Ini menghilangkan elemen duplikat.
  • Queue<T>
Queue <T> menyimpan nilai dalam gaya FIFO (First In First Out). Itu menjaga urutan nilai ditambahkan. Ini menyediakan metode Enqueue() untuk menambahkan nilai dan metode Dequeue() untuk mengambil nilai dari koleksi.
  • Stack<T>
Stack <T> menyimpan nilai sebagai LIFO (Last In First Out). Ini menyediakan metode Push() untuk menambahkan nilai dan metode Pop() & Peek() untuk mengambil nilai.

Dan berikut adalah program dari Generic Collection


using System;
using System.Collections.Generic;

namespace DT
{
 public class Program
 {
  public static void Main(string[] args)
  {
            Queue<int> que = new Queue<int>();
            
            que.Enqueue(52);
            que.Enqueue(42);
   que.Enqueue(74);
            que.Enqueue(14);
   que.Enqueue(92);
            Console.WriteLine("Queue: "); 
   Console.WriteLine();
            foreach (int i in que)
                Console.WriteLine(i + " ");
   Console.WriteLine();
            Console.WriteLine("Count: " + que.Count);  
            
            Console.WriteLine();
   Console.WriteLine("Dequeue: " + que.Dequeue()); 
            Console.WriteLine();
            Console.WriteLine("Queue: ");
   Console.WriteLine();
            foreach (int i in que)
                Console.WriteLine(i + " ");
   Console.WriteLine();
            Console.WriteLine("Count: " + que.Count);
   que.Clear();
   Console.WriteLine("Count: " + que.Count);
   
  }
 }
}

Non Generic Collection C#

Non Generic Collection di gunakan untuk menyimpan Item yang bertipe Object. Untuk menggunakan Non Generic Collection, kamu harus menggunakan : using System.Collection.

Berikut adalah class yang tergabung dengan System.Collection :
  • ArrayList
ArrayList menyimpan objek jenis apa pun seperti array. Namun, tidak perlu menentukan ukuran ArrayList seperti dengan array saat ia tumbuh secara otomatis.
  • SortedList
SortedList menyimpan pasangan kunci dan nilai. Secara otomatis mengatur elemen dalam urutan kunci secara default. C # termasuk koleksi SortedList generik dan non-generik.
  • Stack
Stack menyimpan nilai dalam gaya LIFO (Last In First Out). Ini menyediakan metode Push() untuk menambahkan nilai dan metode Pop() & Peek() untuk mengambil nilai. C # termasuk Stack generik dan non-generik.
  • Queue
Queue menyimpan nilai-nilai dalam gaya FIFO (First In First Out). Itu menjaga urutan nilai ditambahkan. Ini menyediakan metode Enqueue () untuk menambahkan nilai dan metode Dequeue () untuk mengambil nilai dari koleksi. C # termasuk Antrian generik dan non-generik.
  • Hastable
Hashtable menyimpan pasangan kunci dan nilai. Ini mengambil nilai-nilai dengan membandingkan nilai hash tombol.
  • BitArray
BitArray mengelola array kompak dari nilai bit, yang direpresentasikan sebagai Boolean, di mana true menunjukkan bahwa bit aktif (1) dan false menunjukkan bit mati (0).

Non Generic Collection sangat rentan terhadap error dan performanya kurang, jadi mimin menyarankan kamu untuk menggunakan Generic Collection.
Disqus Comments