如何在多维数组Java中使用不同的类型

时间:2015-05-07 00:40:58

标签: java arrays multidimensional-array

我的Java课程中的问题,我不明白:

声明一个Person类型的多维数组,可用于为一周中的每一天和一年中的每一周存储一组人的家务清单。

我如何申报?它将是Dimension1人D2字符串D3 int d4 int。

我以为你不能有不同的类型,所以也许是我的误会问题? 谢谢你的帮助。

这是人类:

package ProvidedClasses;

public class Person 
{
private String name;

public Person()
{
    name = "John Doe";
}

public String getName()
{
    return name; 
}

}

2 个答案:

答案 0 :(得分:1)

Java的美妙之处在于(几乎)一切都是对象。所以你可能有多维的Objects数组,只记得第一个索引是Person,第二个是String,第三个是Integer。

但是,数组较低,很少用于动态数据存储。使用集合及其优势。它不清楚你想要实现什么,但这是一个可能的解决方案:

HashMap<String,HashMap<String,HashMap<String,Person>>> chore;
//So, access could be like 
chore.get("Friday").get("25").get("Andy"); // get Andy on Friday of 25-th week.

HashMap<String,HashMap<String,ArrayList<Person>>> choreN;
chore.get("Friday").get("25").get(12); // 12-th person on Friday 25-th week.

答案 1 :(得分:0)

类型为人的多维数组(除非我遗漏了某些内容),并假设您在任何给定的一周内有7天(并且一年中有52周),并假设您有{{1}在你的小组中,人们(为了争论10)可能看起来像

x

然后,您的int x = 10; Person[][][] multidimensionalArrayOfPersons = new Person[x][7][52]; 课程应该有一些Person