如果在给定索引处存在,则ArrayList替换元素?

Har*_*der 73 java arraylist

如果存在于给定索引的ArrayList中,如何替换元素?

dev*_*v4u 160

  arrayList.set(index i,String replaceElement);
Run Code Online (Sandbox Code Playgroud)

  • 仅供参考,如果i上没有元素则会抛出错误 (11认同)
  • 这里的问题本身是 - "如果退出则替换元素",但为了避免错误,需要进行空检查 (3认同)

cor*_*iKa 5

如果您需要不同的设置功能,我建议您使用自己的类扩展 ArrayList。这样,您就不必在多个地方定义您的行为。

// You can come up with a more appropriate name
public class SizeGenerousArrayList<E> extends java.util.ArrayList<E> {

    @Override
    public E set(int index, E element) {
        this.ensureCapacity(index+1); // make sure we have room to set at index
        return super.set(index,element); // now go as normal
    }

    // all other methods aren't defined, so they use ArrayList's version by default

}
Run Code Online (Sandbox Code Playgroud)