对于由不同类型组成的数据,我应该使用哪个Map类?

Ale*_*vić 0 java dictionary multidimensional-array

它似乎HashMap只限于一个值,我需要一个值表,如:

Joe(字符串)25(整数)2.0(双)

史蒂夫(弦)41(整数)1.6(双)

等等

我想像二维数组一样存储信息,但我希望它有不同的变量类型.我看一下各种Map实现类,但似乎它们只存储值(分配给一个键)或两个变量(我需要至少三个).我应该用什么课?

Jon*_*eet 7

听起来你应该创建一个包含String字段,int字段和double字段的单独类.

然后,您可以创建一个地图,将其作为值类型,以及您喜欢的任何类型的键.例如:

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));
Run Code Online (Sandbox Code Playgroud)

或者你甚至可能根本不需要地图:

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