将一个项目从一个 ArrayList 复制到另一个 ArrayList Java 8



我目前正在从事一个uni项目,在那里我有一个简单的商店,我可以在其中创建产品,将它们存储到ArrayList中,然后,我想选择其中一些产品并将它们存储到另一个ArrayList中。 这个想法是从productList中选择一个产品(给出索引)并将其存储在shoppingCartList上。

我目前拥有的:

ArrayList<Producto> listaProductos = new ArrayList<>();
ArrayList<Pedido> listaPedido = new ArrayList<>();

我已经完成了从listaProductos创建、删除、修改和列出产品的代码,这是我存储所有产品的地方,所以我唯一需要的是一种在给定索引的情况下选择特定项目并存储到listaPedido的方法,但我找不到合适的方法来做到这一点, 我只知道如何将所有ArrayList复制到另一个。

所以我的问题是,如何将一个项目从ArrayList复制到另一个项目?

您可以使用get()方法从索引处获取项目ArrayList

Producto product = listaProductos.get(index);

其中索引是整数

使用add()方法将其添加到第二个列表中,由于第二个列表的类型是Pedido除非它是兼容的类型,否则您无法添加它。您需要将Producto对象转换为Pedido,为此您可以创建一个新的"Pedido"对象并从"Producto"设置所有属性,如果您有 getter 和 setter,您可以这样做

Pedido pedido = new Pedido();
pedido.set...(product.get...()); //for all other fields 
listaPedido.add(pedido);

如果未写入 getter 和 setter 并且属性public您可以直接分配

pedido.attributeName = producto.attribute;

查看文档:ArrayList JavaDoc

最新更新