Which Map class should I use for data consisting of different types?

It seems that HashMap is limited to only one value, and I need a table of values like:

Joe(string) 25(Integer) 2.0(Double)

Steve(string) 41(Integer) 1.6(Double)

etc.

I want to store infomation similarly as in two-dimensional array, but I want it to have different variable types. I've look at various Map-implementing classes, but it seems that they only store value (assigned to a key), or two variables (I need at least three). What class should I use for this?

Jon Skeet
people
quotationmark

It sounds like you should be creating a separate class with a String field, an int field and a double field.

Then you can create a map with that as the value type, and whatever type you like as a key. For example:

Map<String, Person> map = new HashMap<>();
// What keys do you really want here?
map.put("foo", new Person("Joe", 25, 2.0));
map.put("bar", new Person("Steve", 41, 1.6));

Or it's possible that you don't even need a map at all at that point:

List<Person> list = new ArrayList<>();
list.add(new Person("Joe", 25, 2.0));
list.add(new Person("Steve", 41, 1.6));

people

See more on this question at Stackoverflow