Je cherche une classe KeyValuePair en Java.
Etant donné que Java.util utilise beaucoup d’interfaces, aucune implémentation concrète n’est fournie, seule l’interface Map.Entry.
Existe-t-il une implémentation canonique que je peux importer? C'est l'une de ces classes de "programmation de plombiers" que je déteste implémenter 100 fois.
La documentation AbstractMap.SimpleEntry est générique et peut être utile.
Les programmeurs Android pourraient utiliser BasicNameValuePair
Mise à jour:
BasicNameValuePair est maintenant obsolète (API 22). Utilisez Pair à la place.
Exemple d'utilisation:
Pair<Integer, String> simplePair = new Pair<>(42, "Second");
Integer first = simplePair.first; // 42
String second = simplePair.second; // "Second"
La classe Pair de Commons Lang pourrait aider:
Pair<String, String> keyValue = new ImmutablePair("key", "value");
Bien sûr, vous devrez inclure commons-lang.
L'utilisation de javafx.util.Pair est suffisante pour la plupart des couplages clé-valeur simples de deux types quelconques pouvant être instanciés.
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;
}
}
J'aime utiliser
Exemple:
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
Si vous connaissez une table de hachage, vous le saurez déjà déjà.
J'ai publié une classe NameValuePair
dans la bibliothèque principale de GlobalMentor , disponible dans Maven. Ceci est un projet en cours avec une longue histoire, veuillez donc soumettre toute demande de modification ou d'amélioration.
Hashtable<String, Object>
C'est mieux que Java.util.Properties
qui est en fait une extension de Hashtable<Object, Object>
.
Mon favori est
HashMap<Type1, Type2>
Tout ce que vous avez à faire est de spécifier le type de données pour la clé pour Type1 et le type de données pour la valeur pour Type2. C'est l'objet clé-valeur le plus courant que j'ai vu en Java.
https://docs.Oracle.com/javase/7/docs/api/Java/util/HashMap.html