Re: I need something like a "Hashtable<String[], Integer>" kind of
data type ...
On Sat, 27 Nov 2010, Patricia Shanahan wrote:
lbrtchx@gmail.com wrote:
I need something like a "Hashtable<String[], Integer>" kind of data
type ...
I have a String[] (String array (a Sequence of String more precisely
since order matters)) which I need to use in a hashtable for fastest
access
If the sequence of Strings is found in the hashmap all I need is the
index
Use a HashMap<java.util.List<String>, Integer>. List has the equals and
hashCode rules you need - a List is equal to another List that contains
the same elements in the same order. An array is only equal to itself.
As something of an aside, if i understand "If the sequence of Strings is
found in the hashmap all I need is the index" to mean "I have a sequence
of sequences of strings, and i want to be able to find the index of a
given sequence of strings quickly", then is there a data structure which
will do a better job than a hashmap? You can certainly do it with a
hashmap, but hashmaps store arbitrary values, whereas here, the values are
more tightly constrained - they're indexes in the top-level sequence. Can
that be used to find a tighter fit? I have half an eye on the problem of
updating the collection here; with a hashmap, if i insert a new sequence
of strings in the middle, i'm going to need to update the stored indexes
for all those which come after it.
I can't think of anything very good.
tom
--
An unreliable programming language generating unreliable programs
constitutes a far greater risk to our environment and to our society than
unsafe cars, toxic pesticides, or accidents at nuclear power stations. --
C. A. R. Hoare