Struktur data yang disediakan oleh paket Java Utility dan mampu
menjalankan berbagai fungsi. Struktur data ini terdiri dari antarmuka
dan kelas berikut:
- Enumeration.
- BitSet.
- Vector.
- Stack.
- Dictionary.
- Hashtable.
- Properties.
Berikut penjelasannya
Enumeration
Enum adalah “kelas” khusus yang mewakili sekelompok konstanta
(variabel yang tidak dapat diubah, seperti variabel akhir). Untuk
membuat enum, gunakan kata kunci enum (bukan class atau
interface), dan pisahkan konstanta dengan koma. Perhatikan bahwa
mereka harus menggunakan huruf besar. Enumeration interface mendefinisikan metode yang dengannya Anda
dapat menghitung (memperoleh satu per satu) elemen dalam
kumpulan objek
Interface Enumeration itu sendiri bukanlah struktur data, tetapi
sangat penting dalam konteks struktur data lainnya. Antarmuka Pencacahan mendefinisikan cara untuk mengambil
elemen berturut-turut dari struktur data. Misalnya, Enumerasi
mendefinisikan metode yang disebut nextElement yang digunakan
untuk mendapatkan elemen berikutnya dalam struktur data yang
berisi banyak elemen.
Metode yang di deklarasikan dengan enumeration :
- Boolean hasMoreElements( ), yaitu saat diimplementasikan, itu harus mengembalikan nilai true saat masih ada lebih banyak elemen untuk di ekstrak, dan false ketika semua elemen telah di sebutkan.
- Object nextElemen( ), yaitu fungsi yang mengembalikan objek berikutnya dalam pencacah sebagai referensi obejek generik.
BitSet Kelas BitSet mengimplementasikan sekelompok bit atau flag yang dapat
diatur dan dihapus secara individual. Kelas ini sangat berguna dalam
kasus di mana Anda perlu mengikuti sekumpulan nilai Boolean; Anda
cukup menetapkan sedikit untuk setiap nilai dan mengatur atau
menghapusnya sebagaimana mestinya. Kelas BitSet membuat tipe array khusus yang menyimpan nilai bit.
Array BitSet dapat bertambah besar sesuai kebutuhan. Ini membuatnya
mirip dengan vektor bit. BitSet mendefinisikan dua konstruktor, yaitu :
- BistSet( ), yaitu konstruktor ini membuat objek default.
- BitSet(int size), yaitu konstruktor ini memungkinkan untuk menentukan ukuran awalnya, yaitu jumlah bit yang dapat di tampung. semua bit diinisialisasi ke nol.
Vector Kelas Vector mirip dengan larik Java tradisional, kecuali bahwa kelas itu
dapat berkembang seperlunya untuk mengakomodasi elemen baru.
Seperti sebuah array, elemen dari sebuah objek Vektor dapat diakses
melalui indeks ke dalam vektor. Hal yang menyenangkan tentang
menggunakan kelas Vector adalah Anda tidak perlu khawatir tentang
menyetelnya ke ukuran tertentu saat pembuatan; itu menyusut dan
tumbuh secara otomatis bila perlu.
Vektor terbukti sangat berguna jika Anda tidak mengetahui ukuran larik terlebih dahulu atau Anda
hanya memerlukan satu yang dapat mengubah ukuran selama masa program. Berikut adalah daftar
konstruktor yang disediakan oleh kelas vektor :
- Vector( ) yaitu Konstruktor ini membuat vektor default, yang memiliki ukuran awal 10.
- Vector(int size) yaitu Konstruktor ini menerima argumen yang sama dengan ukuran yang
diperlukan, dan membuat vektor yang kapasitas awalnya ditentukan berdasarkan ukuran.
- Vector(int size, int incr) yaitu Konstruktor ini membuat vektor yang kapasitas awalnya
ditentukan oleh ukuran dan yang kenaikannya ditentukan dengan incr. Kenaikan menentukan
jumlah elemen yang akan dialokasikan setiap kali vektor diubah ukurannya ke atas.
- Vector(Collection c) yaitu Konstruktor ini membuat vektor yang berisi elemen Collection c.
Stack Stack adalah subclass dari Vector yang mengimplementasikan
tumpukan standar terakhir masuk, keluar pertama. Stack hanya
mendefinisikan konstruktor default, yang membuat tumpukan kosong.
Stack menyertakan semua metode yang ditentukan oleh Vector, dan
menambahkan beberapa metode miliknya sendiri. dapat dibuat dengan
menulis Stack().
Kelas Stack mengimplementasikan tumpukan elemen terakhir masuk
pertama keluar (LIFO). Anda dapat menganggap tumpukan secara
harfiah sebagai tumpukan objek vertikal; ketika Anda menambahkan
elemen baru, itu akan ditumpuk di atas yang lain. Saat Anda menarik
elemen dari tumpukan, elemen tersebut akan terlepas dari atas.
Dengan kata lain, elemen terakhir yang Anda tambahkan ke tumpukan
adalah yang pertama keluar.
Metode yang di definisikan stack :
- boolean empty() yaitu Menguji apakah tumpukan ini kosong. Mengembalikan nilai benar jika tumpukan
kosong, dan mengembalikan nilai salah jika tumpukan berisi elemen.
- Object peek( ) yaitu Mengembalikan elemen di atas tumpukan, tetapi tidak menghapusnya.
- Object pop( ) yaitu Mengembalikan elemen di atas tumpukan, menghapusnya dalam proses.
- Object push(Object element) yaitu Mendorong elemen ke tumpukan. Elemen juga dikembalikan.
- int search(Object element) yaitu Mencari elemen dalam tumpukan. Jika ditemukan, offsetnya dari atas
tumpukan akan dikembalikan. Jika tidak, -1 dikembalikan.
Dictionary Dictionary adalah kelas abstrak yang mewakili repositori penyimpanan
kunci / nilai dan beroperasi seperti Map. Diberikan kunci dan nilai,
Anda bisa menyimpan nilai dalam objek Dictionary. Setelah nilai
disimpan, Anda dapat mengambilnya kembali dengan menggunakan
kuncinya. Jadi, seperti peta, kamus dapat dianggap sebagai daftar
pasangan kunci / nilai.
Hashtable
Hashtable adalah bagian dari java.util asli dan merupakan
implementasi konkret dari Kamus. Namun, Java 2 merekayasa ulang
Hashtable sehingga ia juga mengimplementasikan antarmuka Peta.
Dengan demikian, Hashtable sekarang diintegrasikan ke dalam
kerangka koleksi. Ini mirip dengan HashMap, tetapi disinkronkan. Kelas Hashtable menyediakan sarana untuk mengatur data berdasarkan
beberapa struktur kunci yang ditentukan pengguna. Misalnya, dalam
tabel hash daftar alamat Anda bisa menyimpan dan mengurutkan data
berdasarkan kunci seperti kode pos daripada nama orang. Arti khusus
dari kunci yang berkaitan dengan tabel hash sepenuhnya bergantung
pada penggunaan tabel hash dan data yang dikandungnya.
Konstruktor yang disediakan kelas hashtable :
- Hashtable( ) yaitu Ini adalah konstruktor default dari tabel hash yang dibuatnya
untuk kelas Hashtable.
- Hashtable(int size) yaitu Konstruktor ini menerima parameter integer dan
membuat tabel hash yang memiliki ukuran awal yang ditentukan oleh ukuran
nilai integer.
- Hashtable(int size, float fillRatio) yaitu Ini membuat tabel hash yang memiliki
ukuran awal yang ditentukan oleh ukuran dan rasio isian yang ditentukan oleh
fillRatio. Rasio ini harus antara 0,0 dan 1,0, dan ini menentukan seberapa penuh
tabel hash sebelum diubah ukurannya ke atas.
- Hashtable(Map < ? extends K, ? extends V > t) yaitu Ini membangun Hashtable
dengan pemetaan yang diberikan.
Properties Properti adalah subclass dari Hashtable. Ini digunakan untuk
memelihara daftar nilai di mana kuncinya adalah String dan nilainya
juga String. Kelas Properties digunakan oleh banyak kelas Java lainnya.
Misalnya, ini adalah tipe objek yang dikembalikan oleh
System.getProperties () saat mendapatkan nilai lingkungan. Properti menentukan variabel contoh berikut. Variabel ini menyimpan
daftar properti default yang terkait dengan objek Properti. Kode
membuat Properties adalah Properties defaults.
Konstruktor yang di sediakan Kelas properties :
- Properties( ) yaitu Konstruktor ini membuat objek Properti yang
tidak memiliki nilai default.
- Properties(Properties propDefault) yaitu Membuat objek yang
menggunakan propDefault sebagai nilai defaultnya. Dalam kedua
kasus tersebut, daftar properti kosong.
Linked List LinkList dapat
diilustrasikan seperti kereta api, dimana kereta api terdiri dari gerbong-gerbong yang saling
terhubung yang dapat mengangkut penumpang (Data). Gerbong (Node/Simpul) disini berfungsi untuk menyimpan data.
Setiap Node pada LinkedList mempunyai field yang berisi Pointer yang
menghubungkan ke node berikutnya dan juga memiliki field yang berisi Data. Akhir dari LinkedList ditandai dengan Node terakhir akan menunjuk ke Null yang
akan digunakan sebagai kondisi berhenti pada LingkedList.