Setting a HashMap to a Collection and vice versa

Hi,

I have a HashMap called userSelection that I want to convert to a java Collection and then after it is passed into a new class, I want to change the collection back to a HashMap.  I work with collections and hashmaps all the time and have all the imports setup correctly, all I need is a few lines of code as an example to show how to convert these things back and forth.

Thanks in advance!! :)
gdlp2004Asked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
MogalManicConnect With a Mentor Commented:
HashMap is NOT a collection.  It is a MAP.  
A hasmap CONTAINS 3 related Sets (implements collection):
  -KeySet() - Set of keys
  -Values() - Set of values
  -entrySet() - Set of keys AND values (Map.Entry instances)

The only way to switch back and forth between collection and map is to use the entrySet() method:

Collection entries=m.entrySet();
...
HashMap map=new HashMap(entries.size())
for(Iterator it=entries.Iterator();it.hasNext();) {
  Map.Entry each=(Map.Entry) it.next();
  map.put(each.getKey(), each.getValue);
}
0
 
objectsCommented:
HashMap is a Collection already.
If you want the keys then use userSelection.keySet()
Or to get the values use userSelection.values()
0
 
objectsCommented:
but as a HashMap is a subclass of Collection you can just say:

HashMap hm = new HasMap();
Collection c = hm;

Depends though exactly what it is you need to do.
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
JavatmCommented:
Yap thats correct just wanna add another comment what objects said with HasMap and Collections are true so the answers
that you need will already be on what objects said.

This tutorial can also add help :
http://java.sun.com/docs/books/tutorial/collections/index.html
http://java.sun.com/docs/books/tutorial/collections/interfaces/index.html

Hope that helps . . .
Javatm
0
 
Dave_TolandCommented:
don't forget you will need to cast back to a hashmap

HashMap hm = (HashMap)c;
0
 
objectsCommented:
> HashMap is NOT a collection.  It is a MAP.  

I stand corrected :)
0
 
gdlp2004Author Commented:
Before I test this out, I need to know how to set a HashMap to a collection...is it as easy as everyone originally posted, or is it more complex like MogalManic said?

0
 
gdlp2004Author Commented:
Oh nevermind, I see he did show the two separate ways...I will test them both out right now...
0
 
gdlp2004Author Commented:
Mogal Manic was right on the money...many thanks!
0
 
MogalManicCommented:
no problem
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.