[英]How can i put an Arraylist into Arraylist
我有一个练习,我必须编写一个程序来管理火车的时间表。我写了所有的程序,但我不能写主课,因为我必须制作一个有 3 名乘客的 Arraylist,我不知道我必须放什么在空白处
代码:
public class Route {
private int id;
private int aeroplane;
private String departure;
private String arrival;
private ArrayList<Ticket> Tickets = new ArrayList<>() ;
public Route(){
id = 0 ;
aeroplane = 0 ;
departure = " ";
arrival = " ";
Tickets = new ArrayList<>();
}
public Route(int ID, int aerop, String depar,String arriv,ArrayList<Ticket> tick ){
id=ID;
aeroplane=aerop;
departure=depar;
arrival=arriv;
Tickets=tick;
}
public static void main(String[] args) {
ArrayList <Train> train=new ArrayList<>();
Route d1= new Route(0051,50,"Greece","Italy",);// what i have to write in the last blank?
}}
我想你有这三个类:
然后你应该像这样模拟你的路线:
public class Route {
private final int id;
private final int aeroplane;
private final String departure;
private final String arrival;
private final List<Ticket> tickets;
public Route(int id, int aeroplane, String departure, String arrival, List<Ticket> tickets) {
this.id = id;
this.aeroplane = aeroplane;
this.departure = departure;
this.arrival = arrival;
this.tickets = tickets;
}
}
您的路线类没有也不应该有火车列表。 很好,你有一张门票清单。
对于如何将 Trains 列表添加到 Route 实例化的问题,您应该首先创建一个票证,或者如果您愿意,可以创建多个票证。
public static void main(String[] args) {
// create trains
Train train1 = new Train(1202, "Piraeus", "Athens");
Train train2 = new Train(1302, "Athens", "Thessaloniki");
Train train3 = new Train(1502, "Thessaloniki", "Rome");
// create ticket(s)
Ticket ticket = new Ticket(95, List.of(train1, train2, train3));
// create route and pass tickets
Route myRoute = new Route(0051, 50, "Greece", "Italy", List.of(ticket));
}
为了在此处创建列表,我使用了工厂方法 java.util.List.of(从 Java 9 开始可用)。 你的路由类也是一个很好的记录候选者(从 Java 18 开始)。 作为记录,它看起来像:
public record RouteRecord(int id, int aeroplane, String departure, String arrival, List<Ticket> tickets) {}
另外,考虑一下不变性的概念。
在您的主要方法中(它不是一个类):
List<Ticket> tickets = new ArrayList<>();
tickets.add( new Ticket());
Route d1 = new Route(0051,50,"Greece","Italy",tickets);
正如在您需要定义构造函数之前提到的那样:
public Route(int id, int aeroplane, String departure, String arrival, List<Ticket> tickets ){
this.id = id;
this.aeroplane = aeroplane;
this.departure = departure;
this.arrival = arrival;
this.Tickets = tickets;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.