首頁 > Java > java教程 > 如何在沒有唯一鍵的情況下在 Java 中儲存值對?

如何在沒有唯一鍵的情況下在 Java 中儲存值對?

Susan Sarandon
發布: 2025-01-05 21:51:42
原創
254 人瀏覽過

How Can I Store Value Pairs in Java Without Unique Keys?

值對的 Java 集合:元組?

簡介:
在 Java 中使用資料結構時,經常會遇到需要一個儲存具有不同類型的值對的集合。雖然 Java 為此目的提供了 Map,但它們為每個條目強制使用唯一的鍵,這可能並不總是需要的。本文深入研究了儲存值對的替代解決方案:AbstractMap.SimpleEntry。

答案:

AbstractMap.SimpleEntry 是用來表示值對的便利類別。它實作了Map.Entry接口,提供了存取和修改鍵和值的方法。但是,與 Map 不同,SimpleEntry 不需要每對都有唯一的鍵。

實作:

要使用 AbstractMap.SimpleEntry,您可以建立 SimpleEntry 物件的 ArrayList ,指定實例化時鍵和值的類型。以下是一個範例:

java.util.List<java.util.Map.Entry<String, Integer>> pairList = new java.util.ArrayList<>();

// Create and add pairs to the list
java.util.Map.Entry<String, Integer> pair1 = new java.util.AbstractMap.SimpleEntry<>("Not Unique key1", 1);
java.util.Map.Entry<String, Integer> pair2 = new java.util.AbstractMap.SimpleEntry<>("Not Unique key2", 2);
pairList.add(pair1);
pairList.add(pair2);
登入後複製

自訂:

為了更方便,您可以建立ArrayList 的子類,它提供「of」方法,以便輕鬆建立和新增配對到清單。這進一步簡化了語法:

public class TupleList<T> extends ArrayList<T> {
    public static <S, U> TupleList<Map.Entry<S, U>> of(S key, U value) {
        Map.Entry<S, U> pair = new AbstractMap.SimpleEntry<>(key, value);
        TupleList<Map.Entry<S, U>> tupleList = new TupleList<>();
        tupleList.add(pair);
        return tupleList;
    }
}

// Usage
TupleList<Map.Entry<String, Integer>> pair = new TupleList<>();
pair.of("Not Unique key1", 1);
pair.of("Not Unique key2", 2);
登入後複製

透過利用 AbstractMap.SimpleEntry,開發人員可以有效地成對儲存不同類型的數據,在沒有鍵唯一性約束的情況下保持順序。

以上是如何在沒有唯一鍵的情況下在 Java 中儲存值對?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板