web-dev-qa-db-ja.com

JavaのKeyValuePair

私はJavaでKeyValuePairクラスを探しています。
Java.utilはインターフェースを頻繁に使用しているため、具体的な実装は提供されておらず、Map.Entryインターフェースのみが提供されています。

インポートできる標準的な実装はありますか?それは私が100倍回実装するのが嫌いな「配管工プログラミング」クラスの1つです。

221
maayank

ドキュメント AbstractMap.SimpleEntry は一般的なものであり、役に立つことがあります。

228
Eyal Schneider

Androidプログラマーは BasicNameValuePair を使用できます

更新:

BasicNameValuePair は非推奨になりました(API 22)。代わりに ペア を使用してください。

使用例

Pair<Integer, String> simplePair = new Pair<>(42, "Second");
Integer first = simplePair.first; // 42
String second = simplePair.second; // "Second"
96
kreker

Commons LangのPairクラスが役に立ちます。

Pair<String, String> keyValue = new ImmutablePair("key", "value");

もちろん、commons-langを含める必要があります。

42
remipod

インスタンス化できる2つのタイプの最も単純なKey-Valueペアには、 javafx.util.Pair を使用すれば十分です。

Pair<Integer, String> myPair = new Pair<>(7, "Seven");
Integer key = myPair.getKey();
String value = myPair.getValue();
13
AaronCarson
import Java.util.Map;

public class KeyValue<K, V> implements Map.Entry<K, V>
{
    private K key;
    private V value;

    public KeyValue(K key, V value)
    {
        this.key = key;
        this.value = value;
    }

    public K getKey()
    {
        return this.key;
    }

    public V getValue()
    {
        return this.value;
    }

    public K setKey(K key)
    {
        return this.key = key;
    }

    public V setValue(V value)
    {
        return this.value = value;
    }
}
8
Neoheurist

私は使うのが好きです

プロパティ

例:

Properties props = new Properties();

props.setProperty("displayName", "Jim Wilson"); // (key, value)

String name = props.getProperty("displayName"); // => Jim Wilson

String acctNum = props.getProperty("accountNumber"); // => null

String nextPosition = props.getProperty("position", "1"); // => 1

ハッシュテーブルに慣れているなら、すでにこれにかなり慣れているでしょう。

Mavenで入手可能な GlobalMentorのコアライブラリNameValuePair クラスを公開しました。これは長い歴史を持つ 進行中のプロジェクト なので、変更や改良の要望があれば提出してください。

0
Garret Wilson
Hashtable<String, Object>

実際にはJava.util.Propertiesの拡張であるHashtable<Object, Object>よりも優れています。

0
Oleg Mikhailov

私のお気に入りは

HashMap<Type1, Type2>

Type1のキーにはデータ型を、Type2の値にはデータ型を指定するだけです。これは私がJavaで見た最も一般的なKey-Valueオブジェクトです。

https://docs.Oracle.com/javase/7/docs/api/Java/util/HashMap.html

0
Matthew Park