Collection Class Pada VB.NET
Collection Class adalah Class-Class yang digunakan untuk manajemen struktur data, mulai dari menyimpan Object data hingga proses indexing, sorting dan lain-lain.
Berikut ini adalah Collection Class :
- ArrayList
- HashTable
- SortedList
- Queue dan Stack
Collection Interfaces
Collection Class akan mengimplementasi Collection Interfaces yang artinya property dan method pada Collection Interfaces dapat dipakai pada Collection Class yang mengimplementasinya, berikut ini Collection Interfaces :
- IEnumerable
- IEnumerator And IDictionaryEnumerator
- ICollection
- IList
- IDictionary
Interfaces IEnumerable
Berikut property dan method IEnumerable :
- Current() : Mengembalikan current object pada collection
- MoveNext() : Digunakan untuk memindahkan posisi (move) dari enumerator ke item berikutnya pada collection
- Reset() : Digunakan untuk me-reset posisi dari iterator ke elemen pertama dari collection
- GetEnumerator() : Menyediakan jenis forward read-only pada cursor dari himpunan item-item
Interfaces ICollection
Berikut property dan method ICollection :
- count() : Digunakan untuk mengambil jumlah item pada Collection
- copyTo() : Digunakan untuk copy item-item pada Collection ke sebuah array yang dimulai dari posisi tertentu pada array.
Interface IList
Interface IList adalah turunan dari Intefaces ICollection dan IEnumerable, Berikut property dan method Interfaces IList
- Item() : Digunakan untuk mengambil sebuah item dari Collection berdasarkan key yang ber-asosiasi
- Add() : Digunakan untuk menambah item ke dalam Collection dengan passing nilai key dan value
- Remove() : Digunakan untuk remove sebuah item dari Collection dengan passing nilai key dan value
- Keys() & Values() : Digunakan untuk mengambil sebuah Collection dari seluruh key dan value dalam sebuah dictionary
- Contains() : Digudnakan untuk menemukan apakah sebuah key adalah ber-asosiasi dalam sebuah Collection
- Clear() : Digunakan untuk remove semua item pada Collection
- GetEnumerator() : Digunakan untuk mengambil enumerator tertentu pada IDictionaryEnumerator
- IsReadOnly() : Property untuk menentukan sebuah list adalah read-only
- IsFixedSize(): Property untuk menentukan sebuah list adalah mempunyai ukuran (size) yang fix
Interfaces IDictionary
Interfaces IDictionary adalah turunan dari Interfaces ICollection, Berikut property dan method IDictionary
- Item() : Digunakan untuk mengambil sebuah item dari Collection berdasarkan key yang ber-asosiasi
- Add() : Digunakan untuk menambah item ke dalam Collection dengan passing nilai key dan value
- Remove() : Digunakan untuk remove sebuah item dari Collection dengan passing nilai key dan value
- Keys() & Values() : Digunakan untuk mengambil sebuah Collection dari seluruh key dan value dalam sebuah dictionary
- Contains() : Digudnakan untuk menemukan apakah sebuah key adalah ber-asosiasi dalam sebuah Collection
- Clear() : Digunakan untuk remove semua item pada Collection
- GetEnumerator() : Digunakan untuk mengambil enumerator tertentu pada IDictionaryEnumerator
- IsReadOnly() : Property untuk menentukan sebuah list adalah read-only
- IsFixedSize(): Property untuk menentukan sebuah list adalah mempunyai ukuran (size) yang fix
Interfaces IDictionaryEnumerator
Interfaces IDictionaryEnumerator turunan dari Interfaces IEnumerator Berikut property dari IDictionaryEnumerator
- Entry() : Digunakan untuk mengambil key dan value pada current posisi pada dictionary
- Key() : Digunakan untuk mengambil key dari current posisi
- Value() : Digunakan untuk mengambil value dari current posisi
Class ArrayList :: contoh program
ArrayList adalah Collection Class sebagai model dari array yang dinamis dimana ukuran-nya akan bertambah ketika sebuah object dimasukan kedalam array.
Namespace dari ArrayList : System.Collections
ArrayList meng-implemen Interfaces : ICollection, IList, ICloneable, IConvertible
Karakteristik ArrayList :
- Menyimpan data secara dinamis, sehingga penggunaan ruang memori lebih kompak
- Pencarian pada ArrayList berlaku secara Sequential, karena akan lambat
- Tipe aksesnya adalah indexed
Class HashTable
Class HashTable adalah sebuah Collection dari kumpulan berpasangan key-value yang mengimplementasi algoritma hash table.
Namespace dari HashTable : System.Collections
HashTable meng-implemen Interfaces : ICollection, IDictionary
Karakteristik :
- Pencarian dilakukan lebih cepat
- HashTable adalah besar dan cepat
- Penggunaan memory yang besar
- Tipe akses menggunakan hash dari sebuah key value
Class SortedList
Class SortedList adalah Class Collection yang menyimpan himpunan berpasangan key-value
Namespace dari SortedList : System.Collections
SortedList meng-implemen Interfaces : ICollection, IDictionary
Karakteristik :
- Sebuah SortedList tidak boleh terdapat key yang sama, sedangkan HashTable diperbolehkan memiliki key yang sama
- Pencarian dilakukan dengan cepat
- Penggunaan memori termasuk kategori sedang / medium
- Tipe akses menggunakan index dan key value
Class Queue dan Stack
- Queue menggunakan Algoritma FIFO (First-In-First-Out)
- Stack menggunakan Algoritma LIFO (Last-In-First-Out)
Method pada Queue:
- Enqueue : menambah sebuah item
- Dequeue : remove item pertama
Method pada Stack:
- Push : menambah sebuah item
- Pop : remove item terakhir