Are there any advantages between List<CustomObject> and HashMap <String, Object>
hashmap, java, list
Solution
I think better is to have a custom Value class like this:
public class MyValue {
enum Type {
INT, STRING, BOOL;
}
private Type type; //Store the type of Object in Type Enum
private Object value; //Store the value in Object
public void setValue(int val) {
type = Type.INT;
value = new Integer(val);
}
public void setValue(String val) {
type = Type.STRING;
value = val;
}
public void setValue(boolean val) {
type = Type.BOOL;
value = new Boolean(val);
}
public String stringVal() {
// check type to be STRING first
return (String) value;
}
public int intVal() {
// check type to be INT first
return ((Integer) value.intValue());
}
public boolean booleanVal() {
// check type to be BOOL first
return ((Boolean) value.booleanValue());
}
}
You will need to convert from Object to specific type based on `enum Type` in your getters.
Problem
I am trying to implement a solution (in Java 1.6) where i need to store some values (for a set of properties) and thinking in three options considering the following three (Any other idea is of course wellcome!) Option 1 Create a class (call it `Property`) that can store different type of objects (String, int, boolean...) and and work with the set of properties as a `List<Property>` Something like: ``` private String type; //Store the type of Object private String name; //Store the name of the property private String valueStr; //Store the String value private int valueInt; //Store the int value private boolean valueBool; //Store the boolean value ``` I dont really like the idea of having many properties and using only one of them. (only one of the values will be set per property) Option 2 Use `HashMap<String, Object>` and parse the type on each case. Have the good thing that you can get the `Property` by name Option 3 Use `HashMap<String, Property>` Where the String is the name of the property and you can get the value with the name and no need to parse. Questions are: Which of one you think is the best one? or if none of them are good i would like to hear other ideas Also is there any performance difference between the List and the HashMap? Thanks in advance for the help.