私はJavaでKeyValuePairクラスを探しています。
Java.utilはインターフェースを頻繁に使用しているため、具体的な実装は提供されておらず、Map.Entryインターフェースのみが提供されています。
インポートできる標準的な実装はありますか?それは私が100倍回実装するのが嫌いな「配管工プログラミング」クラスの1つです。
ドキュメント AbstractMap.SimpleEntry は一般的なものであり、役に立つことがあります。
Androidプログラマーは BasicNameValuePair を使用できます
更新:
BasicNameValuePair は非推奨になりました(API 22)。代わりに ペア を使用してください。
使用例
Pair<Integer, String> simplePair = new Pair<>(42, "Second");
Integer first = simplePair.first; // 42
String second = simplePair.second; // "Second"
Commons LangのPairクラスが役に立ちます。
Pair<String, String> keyValue = new ImmutablePair("key", "value");
もちろん、commons-langを含める必要があります。
インスタンス化できる2つのタイプの最も単純なKey-Valueペアには、 javafx.util.Pair を使用すれば十分です。
Pair<Integer, String> myPair = new Pair<>(7, "Seven");
Integer key = myPair.getKey();
String value = myPair.getValue();
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;
}
}
私は使うのが好きです
例:
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
クラスを公開しました。これは長い歴史を持つ 進行中のプロジェクト なので、変更や改良の要望があれば提出してください。
Hashtable<String, Object>
実際にはJava.util.Properties
の拡張であるHashtable<Object, Object>
よりも優れています。
私のお気に入りは
HashMap<Type1, Type2>
Type1のキーにはデータ型を、Type2の値にはデータ型を指定するだけです。これは私がJavaで見た最も一般的なKey-Valueオブジェクトです。
https://docs.Oracle.com/javase/7/docs/api/Java/util/HashMap.html