简体   繁体   English

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

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

i have an object of PesananDealer. 我有一个PesananDealer的对象。 It contain these variables. 它包含这些变量。

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;
    }

I also have an object of Truck. 我也有卡车的对象。 It contain these variables. 它包含这些变量。

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;
}

And now i want to make list of truck and insert it with data. 现在我想制作卡车清单并插入数据。

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]));
                }
            }
        };

can i add the list into list2 by doing it like that? 我可以通过这样做将列表添加到list2中吗? How can i print list of the truck and all of it's data? 如何打印卡车清单及其所有数据?

all of my code 我的所有代码

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));
            }
        }
    }

So, how I understand, you've been asking if it works out to add list to list2 and if list will be initialised. 所以,我的理解是,你一直在询问是否可以将list添加到list2以及list是否已初始化。 Am I right? 我对吗? So yes, you could put it in that way, because your code initialiser will be put to constructor by a compiler. 所以是的,你可以这样说,因为你的代码初始化程序将由编译器放到构造函数中。 Variables are initialised in order they declared in code, so list will be initialised when it's put in list2 . 变量按照它们在代码中声明的顺序进行初始化,因此list将在放入list2时初始化。 But be aware you use the same list in each Track , so if Track changes list , it will be changed in every Track 但请注意,您在每个Track使用相同的list ,因此如果Track更改list ,它将在每个Track更改

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

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