ホームページ >Java >&#&チュートリアル >一意のキーを使用せずに Java に値のペアを保存するにはどうすればよいですか?

一意のキーを使用せずに Java に値のペアを保存するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-05 21:51:42219ブラウズ

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

値ペアの Java コレクション: タプル?

はじめに:
Java でデータ構造を扱うとき、よく遭遇するのが異なる型を持つ値のペアを格納するコレクションが必要です。 Java はこの目的のためにマップを提供しますが、エントリごとに一意のキーが強制されるため、これが常に望ましいとは限りません。この記事では、値のペアを格納するための代替ソリューションについて詳しく説明します。 AbstractMap.SimpleEntry.

Answer:

AbstractMap.SimpleEntry は、値のペアを表すための便利なクラスです。 Map.Entry インターフェイスを実装し、キーと値にアクセスして変更するためのメソッドを提供します。ただし、Maps とは異なり、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);

カスタマイズ:

さらに便利にするために、簡単に作成および追加するための「of」メソッドを提供する ArrayList のサブクラスを作成できます。ペアをリストに追加します。これにより、構文がさらに簡素化されます。

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。