Re: Regarding use of ArrayList as value in Hashtable
<u126561@yahoo.com.au> wrote in message
news:1146929958.823752.87800@y43g2000cwc.googlegroups.com...
Hi all,
could anyone who knows how to solve this problem please give me
some hints?
The question is:
I have set up a Hashtable and strings as keys and empty ArrayList as
values:
Hashtable iword = new Hashtable();
while ((inLine = inputStream.readLine()) != null) {
input = inLine.split(" ",-2);
for (int i = 0 ; i < input.length; i++){
iword.put(input[i],new ArrayList());
}
}
------------------------------------------------
but, now, how can I insert more than one value for a specified
key?(i.e, insert string into the ArrayList)
This simple program illustrates the technique you need to use to populate
the ArrayList after it has been added to the Hashtable:
---------------------------------------------------------------------------------------------------------------------
package u126561;
import java.util.ArrayList;
import java.util.Hashtable;
public class HashArray {
/**
* @param args
*/
public static void main(String[] args) {
new HashArray();
}
@SuppressWarnings("unchecked")
public HashArray() {
/* The keys for the Hashtable. */
String[] animals = {"cat", "dog"}; //$NON-NLS-1$ //$NON-NLS-2$
/*
* Create the Hashtable, assuming that each key will be the name of
an animal species and
* that an ArrayList of names of animals of that species will
comprise the values of the
* ArrayList. The names of the animals are not known so the
ArrayList will be initially
* empty.
*/
Hashtable<String, ArrayList> iword = new Hashtable<String,
ArrayList>();
for (String oneAnimal : animals) {
iword.put(oneAnimal, new ArrayList());
}
/* Get a reference to the ArrayList for cats; add cat names to the
ArrayList. */
ArrayList<String> myArrayList = iword.get("cat"); //$NON-NLS-1$
myArrayList.add("Fluffy"); //$NON-NLS-1$
myArrayList.add("Smokey"); //$NON-NLS-1$
myArrayList.add("Morris"); //$NON-NLS-1$
/* Get a reference to the ArrayList for dogs; add dog names to the
ArrayList. */
myArrayList = iword.get("dog"); //$NON-NLS-1$
myArrayList.add("Rex"); //$NON-NLS-1$
myArrayList.add("Fido"); //$NON-NLS-1$
myArrayList.add("Lassie"); //$NON-NLS-1$
/* Display the ArrayList for cats. */
myArrayList = iword.get("cat"); //$NON-NLS-1$
for (String name : myArrayList) {
System.out.println("Cat: " + name); //$NON-NLS-1$
}
/* Display the ArrayList for dogs. */
myArrayList = iword.get("dog"); //$NON-NLS-1$
for (String name : myArrayList) {
System.out.println("Dog: " + name); //$NON-NLS-1$
}
}
}
---------------------------------------------------------------------------------------------------------------------
--
Rhino