大小未知的多维数组

我需要创建一个具有未定义大小的数组,该数组将包含用户信息。

例如:

user[0]["name"] = "Patrick"; 

但是,标准的java数组似乎需要一个已知的长度,我不知道。

我可以使用哪种替代方案? (我很乐意看到一些编码示例)我正在使用TCP框架( kryonet ),它不允许使用构造函数传递对象。 因此,据我所知,制作用户对象是不可能的。

在java中,我们只能对单元格索引使用整数值。

我想你正在寻找地图列表:

 List> persons = new ArrayList>(); // add Patrick Map person = new HashMap(); person.put("name", "Patrick"); person.put("age", "23"); persons.add(person); // add Sue person = new HashMap(); person.put("name", "Sue"); person.put("age", "21"); persons.add(person); 

要访问所有名称,例如:

 for (Map person:persons) { System.out.println(person.get("name")); } 

首先你应该使用Objects而不是任意数据结构,如果你不知道大小,我会使用List

 List people = new ArrayList(); people.add(new Person("Patrick")); 

你不能在java中使用关联数组。 换句话说,您不能使用“名称”作为键。

但您可以通过执行以下操作创建空数组而不指定大小:

 String[] array = new String[]{}; 

但是,尝试将某些内容放入此数组中将为您提供indexoutofboundexception

您应该考虑创建一个类(如Person)并仅使用List来管理它。 你可以这样做:

 List myLyst = new ArrayList(); Person person = new Person("Patrick"); myList.add(0, person);