我正在寻找Java中的KeyValuePair类。 因为java。util大量使用接口,没有提供具体的实现,只有Map。输入接口。

是否有可以导入的规范实现? 这是我讨厌实现100次的“水管工编程”类之一。


当前回答

Hashtable<String, Object>

它比java.util.Properties好,后者实际上是Hashtable<Object, Object>的扩展。

其他回答

类AbstractMap。SimpleEntry是通用的,可能很有用。

我喜欢用

属性

例子:

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

如果你熟悉哈希表,你就会对这个很熟悉

Android程序员可以使用BasicNameValuePair

更新:

BasicNameValuePair现在已弃用(API 22)。 使用Pair代替。

使用示例:

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。

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;
    }
}