Is there a good reason why there is no Pair<L,R> in Java? What would be the equivalent of this C++ construct? I would rather avoid reimplementing my own.
It seems that 1.6 is providing something similar (AbstractMap.SimpleEntry<K,V>), but this looks quite convoluted.
In a thread on
comp.lang.java.help, Hunter Gratzner gives some arguments against the presence of aPairconstruct in Java. The main argument is that a classPairdoesn’t convey any semantics about the relationship between the two values (how do you know what ‘first’ and ‘second’ mean ?).A better practice is to write a very simple class, like the one Mike proposed, for each application you would have made of the
Pairclass.Map.Entryis an example of a pair that carry its meaning in its name.To sum up, in my opinion it is better to have a class
Position(x,y), a classRange(begin,end)and a classEntry(key,value)rather than a genericPair(first,second)that doesn’t tell me anything about what it’s supposed to do.