91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何實現Java Hashtable的自定義鍵

小樊
81
2024-08-30 06:13:28
欄目: 編程語言

在Java中,要實現一個自定義鍵(key)來用于Hashtable,需要遵循以下步驟:

  1. 創建一個類,該類將作為Hashtable的鍵。
  2. 在這個類中,覆蓋equals()hashCode()方法。這兩個方法對于Hashtable的鍵來說非常重要,因為它們用于確定兩個鍵是否相等以及為鍵生成一個唯一的哈希值。
  3. 如果需要,可以覆蓋toString()方法,以便更好地表示鍵的內容。

下面是一個簡單的例子,展示了如何實現一個自定義鍵:

import java.util.Hashtable;

public class CustomKey {
    private int id;
    private String name;

    public CustomKey(int id, String name) {
        this.id = id;
        this.name = name;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null || getClass() != obj.getClass()) {
            return false;
        }
        CustomKey other = (CustomKey) obj;
        return id == other.id && (name == null ? other.name == null : name.equals(other.name));
    }

    @Override
    public int hashCode() {
        int result = 17;
        result = 31 * result + id;
        result = 31 * result + (name == null ? 0 : name.hashCode());
        return result;
    }

    @Override
    public String toString() {
        return "CustomKey [id=" + id + ", name=" + name + "]";
    }

    public static void main(String[] args) {
        Hashtable<CustomKey, String> hashtable = new Hashtable<>();
        CustomKey key1 = new CustomKey(1, "Alice");
        CustomKey key2 = new CustomKey(2, "Bob");

        hashtable.put(key1, "Value for Alice");
        hashtable.put(key2, "Value for Bob");

        System.out.println("Value for key1: " + hashtable.get(key1));
        System.out.println("Value for key2: " + hashtable.get(key2));
    }
}

在這個例子中,我們創建了一個名為CustomKey的類,它包含兩個屬性:idname。我們覆蓋了equals()hashCode()方法,以便Hashtable可以正確地處理這些鍵。然后,我們在main()方法中創建了一個Hashtable,并使用CustomKey作為鍵來存儲和檢索值。

0
开远市| 霍林郭勒市| 泰兴市| 和田县| 阿瓦提县| 商洛市| 仁寿县| 保康县| 临西县| 贺兰县| 青冈县| 泾阳县| 新余市| 罗甸县| 祁门县| 巴东县| 绵阳市| 邳州市| 托克逊县| 略阳县| 曲周县| 轮台县| 峨边| 固安县| 临漳县| 榆林市| 石泉县| 耒阳市| 兴国县| 淳化县| 林州市| 综艺| 栾川县| 巨野县| 黄骅市| 两当县| 沾化县| 靖州| 台安县| 通山县| 木兰县|