You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java 8如何从一个ArrayList中复制指定索引的单个元素到另一个ArrayList

实现方法

核心逻辑

要实现按索引取单个元素存入目标集合,只需要用到ArrayList自带的两个基础方法:

  • get(int index):获取集合中指定索引位置的元素
  • add(E e):将元素添加到目标集合末尾

注意你定义的两个集合存储的对象类型不同:listaProductos存Producto类对象,listaPedido存Pedido类对象,需要先把取出的Producto对象封装为Pedido对象后再存入目标集合。

完整代码示例

首先要先做索引合法性校验,避免触发IndexOutOfBoundsException索引越界异常:

// 入参为用户选中的产品索引
public void addSelectedProductToPedido(int productIndex) {
    // 索引合法性校验:索引必须在 [0, 产品集合长度-1] 区间内
    if (productIndex < 0 || productIndex >= listaProductos.size()) {
        System.out.println("所选产品不存在,请输入合法的产品索引");
        return;
    }
    // 1. 从产品集合取出对应索引的产品对象
    Producto targetProduct = listaProductos.get(productIndex);
    // 2. 封装为Pedido对象,构造方法参数根据你自己的Pedido类定义调整即可
    // 示例假设Pedido类构造方法需要传入产品对象、购买数量两个参数
    Pedido pedidoItem = new Pedido(targetProduct, 1);
    // 3. 添加到订单集合
    listaPedido.add(pedidoItem);
}

注意事项

  • 如果你的Pedido类字段和Producto完全一致,不要直接做类型强转,建议给Pedido类新增接收Producto参数的构造方法,在构造方法内完成字段赋值
  • 如果你的Producto类包含自定义引用类型的成员变量,需要深拷贝的话可以自己重写拷贝方法,普通大学作业场景直接赋值即可满足需求

内容的提问来源于stack exchange,提问作者AhmedSHA256

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:15:06