如何在Java中替换ArrayList元素的现有值

时间:2014-06-01 14:42:16

标签: java arraylist

我仍然是Java编程的新手,我正在尝试使用此代码更新ArrayList的现有值:

public static void main(String[] args) {

    List<String> list = new ArrayList<String>();

    list.add( "Zero" );
    list.add( "One" );
    list.add( "Two" );
    list.add( "Three" );

    list.add( 2, "New" ); // add at 2nd index

    System.out.println(list);
}

我想打印New而不是Two,但结果是[Zero, One, New, Two, Three],我仍然有Two。我想打印[Zero, One, New, Three]。我怎样才能做到这一点? 谢谢。

4 个答案:

答案 0 :(得分:228)

使用set方法将旧值替换为新值。

list.set( 2, "New" );

答案 1 :(得分:17)

使用ArrayList.set

list.set(2, "New");

答案 2 :(得分:14)

如果您不知道要替换的位置,请使用list iterator来查找和替换元素 ListIterator.set(E e)

ListIterator<String> iterator = list.listIterator();
while (iterator.hasNext()) {
     String next = iterator.next();
     if (next.equals("Two")) {
         //Replace element
         iterator.set("New");
     }
 }

答案 3 :(得分:1)

您必须使用

list.remove(indexYouWantToReplace);

第一

你的元素会变成这样。 [zero, one, three]

然后添加此

list.add(indexYouWantedToReplace, newElement)

你的元素会变成这样。 [zero, one, new, three]