Bekerja dengan Hashtables di Unity

Hashtable adalah kumpulan pasangan kunci-nilai yang memungkinkan Anda menyimpan dan mengambil data secara efisien. Setiap kunci dalam Hashtable harus unik, dan digunakan untuk mengakses nilai terkait. Dalam Unity, Hashtable adalah bagian dari namespace System.Collections dan dapat sangat berguna untuk menyimpan struktur data non-generik.

Membuat Hashtable

Untuk menggunakan Hashtable di Unity, pertama-tama Anda perlu mengimpor namespace System.Collections lalu menginisialisasi objek Hashtable baru. Berikut contohnya:

using System.Collections;
using UnityEngine;

public class HashtableExample : MonoBehaviour
{
    void Start()
    {
        Hashtable myHashtable = new Hashtable();

        // Adding key-value pairs
        myHashtable.Add("PlayerName", "Alex");
        myHashtable.Add("Score", 1500);
        myHashtable.Add("Level", 5);

        // Accessing values
        Debug.Log("Player Name: " + myHashtable["PlayerName"]);
        Debug.Log("Score: " + myHashtable["Score"]);
        Debug.Log("Level: " + myHashtable["Level"]);
    }
}

Menambahkan dan Mengakses Data

Anda dapat menambahkan data ke Hashtable menggunakan metode Add. Untuk mengambil nilai, gunakan kunci di dalam tanda kurung siku:

myHashtable.Add("Health", 100);
int health = (int)myHashtable["Health"];
Debug.Log("Health: " + health);

Jika kunci sudah ada, mencoba menggunakan Add akan memunculkan pengecualian. Sebagai gantinya, gunakan kunci tersebut secara langsung untuk memperbarui nilai:

myHashtable["Health"] = 80; // Updates the value associated with the key

Memeriksa Kunci dan Nilai

Untuk memeriksa apakah ada kunci di Hashtable, gunakan metode ContainsKey. Demikian pula, gunakan ContainsValue untuk memeriksa nilai:

if (myHashtable.ContainsKey("Score"))
{
    Debug.Log("Score exists: " + myHashtable["Score"]);
}

if (myHashtable.ContainsValue(1500))
{
    Debug.Log("Value 1500 is in the Hashtable.");
}

Menghapus Data

Anda dapat menghapus entri dari Hashtable menggunakan metode Remove:

myHashtable.Remove("Level");
Debug.Log("Level removed.");

Mengulangi Tabel Hash

Untuk mengulang semua pasangan kunci-nilai dalam Hashtable, gunakan loop foreach:

foreach (DictionaryEntry entry in myHashtable)
{
    Debug.Log("Key: " + entry.Key + ", Value: " + entry.Value);
}

Keterbatasan Hashtables

Hashtable bersifat non-generik dan tidak memiliki keamanan tipe. Jika Anda membutuhkan keamanan tipe dan kinerja yang lebih baik, pertimbangkan untuk menggunakan Dictionary generik dari namespace System.Collections.Generic. Hashtable terutama berguna saat bekerja dengan koleksi non-generik atau berinteraksi dengan basis kode lama.

Kesimpulan

Hashtables di Unity menyediakan cara mudah untuk mengelola pasangan kunci-nilai dalam proyek Anda. Meskipun bukan jenis koleksi yang paling modern, hashtables tetap menjadi pilihan yang valid untuk banyak skenario. Dengan memahami cara membuat, mengakses, dan memanipulasi Hashtables, Anda dapat mengelola data secara efisien dalam aplikasi Unity Anda.