繁体   English   中英

如何将对象列表添加到另一个列表中

[英]how to add a list of object into another list

我有一个PesananDealer的对象。 它包含这些变量。

private String idDealer;
private int[] motor = new int[4];
public PesananDealer() {
    }

    public PesananDealer(String idDealer, int[] motor) {
        this.idDealer = idDealer;
        this.motor = motor;
    }    

    public String getIdDealer() {
        return idDealer;
    }

    public void setIdDealer(String idDealer) {
        this.idDealer = idDealer;
    }

    public int[] getMotor() {
        return motor;
    }

    public void setMotor(int[] motor) {
        this.motor = motor;
    }

我也有卡车的对象。 它包含这些变量。

public int ID;
public List<PesananDealer> listPesananDealer = new ArrayList<PesananDealer>();
public int kapasitas;
public String[] rute;
public Truck() {
}

public Truck(int ID, List<PesananDealer> listPesananDealer, int kapasitas) {
    this.ID = ID;
    this.listPesananDealer = listPesananDealer;
    this.kapasitas = kapasitas;
}
public int biaya;

public int getID() {
    return ID;
}

public void setID(int ID) {
    this.ID = ID;
}

public String[] getRute() {
    return rute;
}

public void setRute(String[] rute) {
    this.rute = rute;
}

public List<PesananDealer> getListPesananDealer() {
    return listPesananDealer;
}

public void setListPesananDealer(List<PesananDealer> listPesananDealer) {
    this.listPesananDealer = listPesananDealer;
}

public void addPesanan(PesananDealer a) {
    listPesananDealer.add(a);
}

public int getKapasitas() {
    return kapasitas;
}

public void setKapasitas(int kapasitas) {
    this.kapasitas = kapasitas;
}

public int getBiaya() {
    return biaya;
}

public void setBiaya(int biaya) {
    this.biaya = biaya;
}

现在我想制作卡车清单并插入数据。

List<PesananDealer> list = new ArrayList<PesananDealer>() {
            {
                for (int i = 0; i < dealer.length; i++) {
                    add(new PesananDealer(dealer[i], arrays[i]));
                }
            }
        };

List<Truck> list2 = new ArrayList<Truck>(){
            {
                for (int i = 0; i < 5; i++) {
                    add(new Truck(i,list,kapasitas[i]));
                }
            }
        };

我可以通过这样做将列表添加到list2中吗? 如何打印卡车清单及其所有数据?

我的所有代码

public static void main(String[] args) {
        int[][] arrays = {{3, 4, 5, 6},
                          {22, 12, 2, 2},
                          {1, 1, 3, 5},
                          {6, 5, 2, 1},
                          {14, 2, 4, 2}};
        String[] dealer = {"B", "C", "D", "E", "F"};
        String [] rute = new String [10];
        int [] kapasitas = {34, 32, 36, 32,30};
        List<PesananDealer> list = new ArrayList<PesananDealer>() {
            {
                for (int i = 0; i < dealer.length; i++) {
                    add(new PesananDealer(dealer[i], arrays[i]));
                }
            }
        };

        List<Truck> list2 = new ArrayList<Truck>(){
            {
                for (int i = 0; i < 5; i++) {
                    add(new Truck(i,list,kapasitas[i]));
                }
            }
        };

        for (Truck listTruck : list2) {
            System.out.println("Mobil ke "+listTruck.getID()+" memiliki kapasitas "+listTruck.getKapasitas());
            for (int i = 0; i < 5; i++) {
                System.out.println(listTruck.listPesananDealer.get(i));
            }
        }
    }

所以,我的理解是,你一直在询问是否可以将list添加到list2以及list是否已初始化。 我对吗? 所以是的,你可以这样说,因为你的代码初始化程序将由编译器放到构造函数中。 变量按照它们在代码中声明的顺序进行初始化,因此list将在放入list2时初始化。 但请注意,您在每个Track使用相同的list ,因此如果Track更改list ,它将在每个Track更改

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM