我正在用Java编写一个类项目.在我的项目中,我有飞机,机场和乘客.
乘客目的地机场是随机创建的,但随后我必须将其添加到该目的地的乘客列表中.
只要从文件中读取机场因此它们可以变化,我如何根据这些机场创建列表?
我想做的是:
List<Passenger> passengersToJFK = new ArrayList<Passenger>();
.
.
.
if(passenger.destination == "JFK"){
passengersToJFK.add(passenger);
}
Run Code Online (Sandbox Code Playgroud)
问题在于,正如我所说,机场的数量和名称可能会有所不同,那么我如何根据机场文件进行创建列表的一般表达式,然后根据乘客目的地机场将乘客添加到这些列表?
我可以从文件中读取机场数量并创建相同数量的列表,但是如何为此列表指定不同的名称?
提前致谢
您可以Map在一个以乘客管理为中心的特定班级中保存目的地或机场与乘客列表之间的关联登记.
Map<String,List<Passenger>> flights = new HashMap<String,List<Passenger>>();
Run Code Online (Sandbox Code Playgroud)
然后,每当您想要添加新目的地时,您都会添加一个新的空列表
public void addDestination(String newDestination) {
flights.put(newDestination, new ArrayList<Passenger>());
}
Run Code Online (Sandbox Code Playgroud)
当您想要添加乘客时,您可以根据a所代表的目的地获取乘客列表String.
public void addPassengerToDestination(String destination, Passenger passenger) {
if(flights.containsKey(destination))
flights.get(destination).add(passenger);
}
Run Code Online (Sandbox Code Playgroud)
我建议你深入研究一些特定的多用途Java类,例如Lists,Maps和Sets.