259 votes

Une paire clé-valeur en Java

Je suis à la recherche d'une classe KeyValuePair en Java.
Comme java.util utilise beaucoup les interfaces, aucune implémentation concrète n'est fournie, seulement l'interface Map.Entry.

Existe-t-il une implémentation canonique que je peux importer ? C'est l'une de ces classes de "programmation pour plombiers" que je déteste implémenter 100 fois.

4 votes

Je vous déconseille d'utiliser une classe KeyValuePair générique. Il vaut mieux définir une classe spécifique au domaine avec des accesseurs plus informatifs (par exemple, getProductId(), getProductPrice()).

25 votes

@Adamski : Je ne suis pas d'accord. Nous n'utilisons pas d'outils spécifiques au domaine Map o List classes, pourquoi cela devrait-il être différent ? Une KeyValuePair est simplement une Map avec une entrée.

4 votes

@skaffman : Bon point, mais je pense que le concept d'un Pair générique est plus facilement ouvert à l'abus que de passer des Collections autour. Par exemple, si quelqu'un veut renvoyer deux valeurs à partir d'une méthode, il est tentant de renvoyer une Paire<X,Y> mais cela indique généralement un problème de conception sous-jacent (par exemple, pourquoi X et Y ne sont pas unifiés d'une manière ou d'une autre dans le modèle de domaine s'ils sont intrinsèquement liés ?)

-1voto

Oleg Mikhailov Points 1885
Hashtable<String, Object>

C'est mieux que java.util.Properties qui est en fait une extension de Hashtable<Object, Object> .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X