KeyValuePair в Java - PullRequest
       26

KeyValuePair в Java

222 голосов
/ 04 июня 2010

Я ищу класс KeyValuePair в Java.
Поскольку java.util интенсивно использует интерфейсы, конкретная реализация не предусмотрена, только интерфейс Map.Entry.

Есть ли каноническая реализация, которую я могу импортировать? Это один из тех классов "программирования сантехников", который я ненавижу реализовывать 100 раз.

Ответы [ 9 ]

229 голосов
/ 04 июня 2010

Документация AbstractMap.SimpleEntry является общей и может быть полезной.

96 голосов
/ 29 ноября 2011

Программисты Android могут использовать BasicNameValuePair

Обновление:

BasicNameValuePair больше не поддерживается (API 22). Вместо этого используйте Pair .

Пример использования:

Pair<Integer, String> simplePair = new Pair<>(42, "Second");
Integer first = simplePair.first; // 42
String second = simplePair.second; // "Second"
42 голосов
/ 06 ноября 2012

Может помочь класс Pair из Commons Lang:

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

Конечно, вам нужно включить commons-lang.

13 голосов
/ 12 июня 2015

Использование javafx.util.Pair достаточно для большинства простых пар «ключ-значение» любых двух типов, которые могут быть созданы.

Pair<Integer, String> myPair = new Pair<>(7, "Seven");
Integer key = myPair.getKey();
String value = myPair.getValue();
8 голосов
/ 03 апреля 2015
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;
    }
}
4 голосов
/ 25 апреля 2018

Мне нравится использовать

Свойства

Пример:

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

Если вы знакомы с хеш-таблицей, вы уже хорошо знакомы с этим

0 голосов
/ 25 июня 2019
Hashtable<String, Object>

Это лучше, чем java.util.Properties, который фактически является расширением Hashtable<Object, Object>.

0 голосов
/ 21 февраля 2017

Я опубликовал класс NameValuePair в базовой библиотеке GlobalMentor , доступной в Maven.Это текущий проект с длинной историей, поэтому, пожалуйста, отправьте любой запрос на изменения или улучшения.

0 голосов
/ 07 декабря 2016

Мой любимый это

HashMap<Type1, Type2>

Все, что вам нужно сделать, это указать тип данных для ключа для Type1 и тип данных для значения для Type2. Это самый распространенный объект ключ-значение, который я видел в Java.

https://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...