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

时间:2011-04-11 05:39:55

标签: java arraylist

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

5 个答案:

答案 0 :(得分:159)

  arrayList.set(index i,String replaceElement);

答案 1 :(得分:4)

如果您需要不同的set功能,我建议您使用自己的类扩展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

}

答案 2 :(得分:2)

如果元素已经存在于索引中,则会覆盖该元素,这是默认行为:Javadoc

或者我完全错过了你的观点?

答案 3 :(得分:0)

只需在您的 remove()语句之后添加一个中断点

答案 4 :(得分:0)

只需在arraylist内使用此方法

list.set(/*index*/,/*value*/)