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

如何将array[left + k] = temp[k]左侧转为ArrayList操作形式?

正确的ArrayList改写方式

嘿,我明白你现在的困惑啦~你之前写的theArray.get(left) + theArray.get(k) = temp[k]确实是错的,原因有两个:

  • 首先,get()方法只是用来读取ArrayList中指定索引的元素,它返回的是一个值,不能把表达式(比如两个get结果相加)放在赋值语句的左边;
  • 其次,你混淆了数组的下标逻辑:原数组的array[left + k]是指索引为left+k的位置,而不是left位置的元素加k位置的元素。

正确的写法应该是这样:

theArray.set(left + k, temp[k]);

简单解释下:

ArrayList没有像数组那样的直接下标赋值语法(list[index] = value),它提供了set(int index, E element)方法,作用就是把ArrayList中指定索引位置的元素替换成新的元素,完全对应数组的array[index] = value操作。

这里第一个参数left + k就是你要修改的元素的索引(和原数组的下标完全一致),第二个参数temp[k]就是要设置的新值,这样就能实现和原数组赋值语句一模一样的效果啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:46:53