aspose file tools*
The moose likes Java in General and the fly likes Please Help: Putting Vector objects into HashMap Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Please Help: Putting Vector objects into HashMap" Watch "Please Help: Putting Vector objects into HashMap" New topic
Author

Please Help: Putting Vector objects into HashMap

Mark Yadav
Greenhorn

Joined: Aug 01, 2002
Posts: 3
Hi,

The problem I have is about passing one Collection object into another, such as passing a Vector object into a Hashmap. I've tried to do this in the two files included below: VectorToHash.java and VectorToHashTest.java.
The problem specification is: I put values into a Vector object and then passed it to a Hashmap and then I want to retieve those values out. I also want to associate each Vector object passed to the Hashmap with a Key object. I've made an attempt to do this below in the two .java files mensioned, but I'm stuck. Although the code does compile, I need help to correct it to work as specified. Could you help me correct my code, and help me understand what problem situations would require a Vector object to be passed to a Hashmap?

Many Thanks,
Mark Yadav.
VectorToHash.java
// VectorToHash.java - the purpose of theis class is to create methods
// that allow a Vector containing Strings to be added to a HashMap.
// The Test program: VectorToHashTest then returns the vector from
// the HashMap and then extracts the values from the vector.
import java.util.*;
public class VectorToHash {

// HashMap to store vector
HashMap book = new HashMap();
Vector v = new Vector();
String[] fruit = {"apple","banana","orange","tomato","pear"};
Integer[] id = new Integer[5];
// Method to add fruit to vector.
// A vector is then returned
public Vector addFruit(Vector v){
for(int i = 0; i < fruit.length; i++)
v.add(fruit[i]);
return v;
}
// method to add vector to HashMap. The retuned Vector
// from the previous method is added to the HashMap
public void addVector(Vector v, HashMap m){
for(int i = 0; i < 5; i++)
m.put(id[i], v);
}
}

VectorToHashTest.java
// VectorToHashTest.java Tests the VectorToHash class
import java.util.*;
class VectorToHashTest{
public static void main(String[] args){
// Vector object
Vector b = new Vector();
Vector c = new Vector();
// HashMap object
HashMap hp = new HashMap();
//
VectorToHash vth = new VectorToHash();
c = vth.addFruit(b);
// add vector to HashMap
vth.addVector(c,hp);
//output contents of HashMap
Set keys = hp.keySet();
Iterator keyIter = keys.iterator();
while(keyIter.hasNext())
System.out.println((Integer)keyIter.next());
}
}
Snigdha Solanki
Ranch Hand

Joined: Sep 07, 2000
Posts: 128
Check out this code:


Output :
Size of set is5
[Ljava.lang.Integer;@680a59=[apple, banana, orange, tomato, pear]
[Ljava.lang.Integer;@7f5ea7=[apple, banana, orange, tomato, pear]
[Ljava.lang.Integer;@67ac19=[apple, banana, orange, tomato, pear]
[Ljava.lang.Integer;@53ba3d=[apple, banana, orange, tomato, pear]
[Ljava.lang.Integer;@53c015=[apple, banana, orange, tomato, pear]
Two places where I changed the code:
1.Integer[] id = new Integer[5];
This will create five elements of Integer oject with null value. So, the key for HashMap would be set as null.
m.put(id[i], v);
Changed it to:
m.put(new Integer(i),v);
2.Set keys = hp.keySet();
This will give set views of keys. In order to get set views of Collection(i.e., Vector) use hp.entrySet().


Snigdha<br />Sun Certified Programmer for the Java™ 2 Platform
Mark Yadav
Greenhorn

Joined: Aug 01, 2002
Posts: 3
Thanks so much Snigdia,
I'm not extremely expereinced in Java and I've been trying to expereiment with the language to get better skilled at it. Passing a Vector object into a HashMap was one way of expereinting. I've also tried to do the exercises out of various Java textbooks - would you recommend this approach? How did you increase your proficiency in Java?
Mark Yadav
Snigdha Solanki
Ranch Hand

Joined: Sep 07, 2000
Posts: 128
Hi Mark,
Trying exercises from Java books is a good idea. You can also take up a dummy java project for pratice.
 
Don't get me started about those stupid light bulbs.
 
subject: Please Help: Putting Vector objects into HashMap