如何在java中动态创建列表?

如何在java中动态创建列表?,java,arrays,list,Java,Arrays,List,我正在为一个班级项目用java编程。 在我的项目中,我有飞机、机场和乘客 乘客目的地机场是随机创建的,但我必须将其添加到该目的地的乘客列表中 只要机场是从文件中读取的,因此它们可以变化,我如何根据这些机场创建列表 我想做的是: List<Passenger> passengersToJFK = new ArrayList<Passenger>(); . . . if(passenger.destination == "JFK"){ passengersToJFK.

我正在为一个班级项目用java编程。 在我的项目中,我有飞机、机场和乘客

乘客目的地机场是随机创建的,但我必须将其添加到该目的地的乘客列表中

只要机场是从文件中读取的,因此它们可以变化,我如何根据这些机场创建列表

我想做的是:

List<Passenger> passengersToJFK = new ArrayList<Passenger>();
.
.
.

if(passenger.destination == "JFK"){
   passengersToJFK.add(passenger);
}
List passengersToJFK=new ArrayList();
.
.
.
如果(乘客目的地==“JFK”){
旅客地址:JFK.add(旅客);
}
问题是,正如我所说的,机场的数量和名称可能会有所不同,因此我如何使用一个通用表达式,根据机场文件创建列表,然后根据乘客目的地机场将乘客添加到这些列表中

我可以从文件中读取机场的数量,并创建相同数量的列表,但如何为这些列表指定不同的名称


提前感谢

您可以在以乘客管理为中心的特定类别中,使用地图保存目的地或机场与乘客列表之间的关联登记簿

Map<String,List<Passenger>> flights = new HashMap<String,List<Passenger>>();

我建议您深入研究一些特定的多用途Java类,例如列表、映射和集合。

您听起来似乎在原语、字符串和集合方面考虑得太多,而在对象方面考虑得不够

Java是一种面向对象的语言;开始考虑对象和封装

您的
乘客
课程有了一个良好的开端。继续使用
机场

您是否将
乘客
添加到
机场
?不,我想它们属于
航班


在编写更多代码之前,请仔细考虑一下您的问题。

我可能会创建一个机场地图,以机场名称为键,以乘客列表为值

e、 g

Map airports=newhashmap();
机场。put(“JFK”,旅客到JFK);

您不应该专注于为列表对象的实际变量指定唯一的名称,而是创建一个从字符串(目的地id)到列表(前往该目的地的乘客)的地图,并在飞行中向该地图添加列表,将每个新列表链接到其相关目的地。根据需要更新地图中的列表。

最好的方法是为所有三个对象创建对象

您可能有一个Airport对象,如下所示:

class Airport{ String name; List Airplane airplanes; } class Airplane{ String name; // ?? or bodyType? or whatever else you need List Passenger passengers; } 头等机场{ 字符串名; 列出飞机清单; } 然后你会有一架这样的飞机:

class Airport{ String name; List Airplane airplanes; } class Airplane{ String name; // ?? or bodyType? or whatever else you need List Passenger passengers; } 等级飞机{ 字符串名称;//?或bodyType?或任何您需要的内容 列出乘客名单; } 通过这种方式,您可以以一种更容易理解和处理的方式彼此合成对象


请注意,我将省略一些方法,例如Airport可能有一个类似“AddPlanet”的方法来添加另一个飞机,而Airport对象有一个addPassenger方法…

您是否尝试创建多个列表?每架飞机的列表可能是?我想根据我拥有的机场数量创建新的ArrayList。如果我有3个机场,程序将创建3个列表。然后乘客将根据他们的目的地被添加到这些列表中。好的,我将更具体地说明我现在有什么。我有4个班,机场、飞机、乘客和登机。机场舱有乘客名单和飞机名单。飞机舱有一份乘客名单。乘客舱只有始发机场和目的地机场。董事会是所有其他事情发生的地方,快来吧。不过,您不必存储“String”,可以将其视为MapRule of thumb:如果您需要嵌套泛型类型,如
Map
或其他什么,那么是时候创建一个类了<代码>列表
可能应该是
机场
或者什么的。@BillK可能-但是你需要通过电话信或者什么的方式来查找机场。@BillK确实如此,但我认为这有点过分了。此外,想出一种方法来将这个简单的概念扩展到一个机场类,这将是OP的一个很好的练习:)(更不用说产生了
hashcode
equals
)。@corsiKa我首先建议一个特定的类来处理这个问题,不知怎的,我在编辑中删除了这个。。。 class Airplane{ String name; // ?? or bodyType? or whatever else you need List Passenger passengers; }