Query about
the Hashtable
Please help me out with the Hashtable problem. Hashtable maps one KEY with ONE value. like
numbers.put("1", new Integer(1));
My problem is -- how to map multiple value with singlt KEY numbers.put("1", new Integer(1));
How to keep the multiple value with singl KEY... if any one has some code. -------------------------------------------------- Simply saying, you can't Read the doc of put, it result the previous value of the key if exists else null. But you can solve it in different way. You were trying to do this. numbers.put("1", new Integer(1));
Now you do this, Numbers.put ("1", new MyNumber(new Integer(1), new
Means, you create a class MyNumber and encapsulate the other three values in it and put this MyNumber class as a value of the key "1".. Give Me J Sanjeev -------------------------------------------------- You could also use an array of objects: final int limit = 4;
Depends on the application for which you are trying to use this. Vinay. -------------------------------------------------- I tryed your code but get the error-- [Ljava.lang.Integer;@1cde100 Where I am wrong plz tell me. final int limit = 5;
System.out.println(A.get("Integers")) ; Ashish Mishra -------------------------------------------------- This is not the error, actually the code is just printing the Integers array (System.out.println(A.get("Integers"))). Since the toString() method of the array is not overridden its not printing the values in the hashtable. I guess its just returning the address space of the object. Saurabh Gupta -------------------------------------------------- Actually your trying my code and not Sanjeev's. Take a look down the chain, you will find out. Sanjeev recommended writing a different class, which has its own advantages. I recommended you to use an array instead of a whole new class. You might have got an error because the get method returns an Object but "Integers" which you put in the HashTable is an array of Objects. Solution is simple: just typecast. Here is a sample code wiothout any errors (pls refine it, its a mess) final int limit = 4;
B[0] = new Integer(8);
Object[] B2 = (Object[])A.get("Integers");
Vinay. -------------------------------------------------- I've removed one line in the code which is not necessary and another minor change (doesn't make any difference to the way it works here) final int limit = 4;
A.put("Integers" , B); Object[] B2 = (Integer[])A.get("Integers"); for(int i = 0; i< B2.length ;i++)
Vinay. -------------------------------------------------- I think the following code will work for you. I am not compiled the code but this will give some idea for resolving your issue.I think this will work. // Keep all the values of a particular
key in a ArrayList and
Varma Srivatsavaya
Do you have a Java Problem?
Java Books
Return to : Java Programming Hints and Tips All the site contents are Copyright © www.erpgreat.com
and the content authors. All rights reserved.
|