?
Solved

MAP of multiple datatypes

Posted on 2009-04-03
3
Medium Priority
?
653 Views
Last Modified: 2013-11-23
Hi,

I'm new to JAVA and I'm trying to achieve something that the JAVA Map seems to be the solution for, but I'm hitting a wall. Basically I want to have a MAP of values BUT with different data types.  That doesn't work (maybe I'm doing something wrong) as it asks me to declare the Map parameterized.

Below is a sample snippet of what I want to do.

Note: I know I can use the Memento pattern to achieve this, but I'm wondering if this is at all possible.
public class MyClass{
 
protected Map instance;
 
  public void setName( String sName ){
    this.instance.put("sName",sName);
  }
  public void setDate(Date date){
    this.instance.put("date", date)
  }
  public Map getInstanceState(){
    return Collections.unmodifiableMap(this.instance);
  }
}

Open in new window

0
Comment
Question by:lostlinkpr
  • 2
3 Comments
 
LVL 25

Accepted Solution

by:
InteractiveMind earned 2000 total points
ID: 24066456
Why not just use a HashMap? (Attached is an example)

import java.util.HashMap;
 
public class Ex
{
   public Ex()
   {
      HashMap hm=new HashMap();
      hm.put("sn","InteractiveMind");
      hm.put("size",new Integer(200));
      
   }
   
   public static void main(String[]a)
   {new Ex();}
}

Open in new window

0
 
LVL 1

Author Comment

by:lostlinkpr
ID: 24067826
Thank you, that works!  The compiler (Eclipse) still throws a warning saying the HashMap should be parameterized but it works well.

final snippet:



protected HashMap inst = new HashMap();
 
    /*
     * Get the state of the object properties at a specific moment
     * 
     * @return unmodifiable SortedMap (memento of object)
     */
    public Map getMemento(){
    	return Collections.unmodifiableSortedMap( new TreeMap(this.inst) );
    }

Open in new window

0
 
LVL 25

Expert Comment

by:InteractiveMind
ID: 24067977
Yes, from Java 5 onwards, parametrisation is available (and thus recommended by the compiler), but it's not necessary, just good coding practice (when viable).
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
In this post we will learn different types of Android Layout and some basics of an Android App.
The viewer will learn how to implement Singleton Design Pattern in Java.
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.
Suggested Courses
Course of the Month7 days, 23 hours left to enroll

615 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question