gpt4 book ai didi

java - ArrayList 的 ArrayList

转载 作者:行者123 更新时间:2023-12-01 18:53:23 25 4
gpt4 key购买 nike

for(int i=0;i<Stockhouse.total_stocks;i++){
buyers.clear();

for(int j=0; j<buy.size();j++){
if(buy.get(j).stock_Id.equals("Stock"+i)){
System.out.println("Agent "+buy.get(j).ID+",stock"+buy.get(j).stock_Id+",price "+buy.get(j).price +",quant "+buy.get(j).quantity);
Auctionhouse buypr= new Auctionhouse(buy.get(j).price,buy.get(j).quantity);
buyers.add(buypr);
}
}
total_buy.add(buyers);
System.out.println("buy size "+total_buy.get(i).size());
}

此处的购买大小正确地显示了每个 ArrayList 作为total_buy ArrayList 元素的大小。

我的问题是,当我再次需要这些大小时,我只能得到最后一个 ArrayList 的大小。

  total_buy.get(0).size()=3
total_buy.get(1).size()=3
total_buy.get(2).size()=3.......

但只有total_buy.get(2).size()=3实际上是3!

最佳答案

您正在重复使用同一对象,并且引用将添加到 total_buy 列表中。而不是

buyers.clear();

buyers = new ArrayList<Auctionhouse>();

这将为买家每次创建一个新对象,因此在total_buy列表中保留更新的引用。

关于java - ArrayList 的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15039923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com