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

Kan*_*ani 118 java arraylist

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

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);
}
Run Code Online (Sandbox Code Playgroud)

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

Bil*_*ard 249

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

list.set( 2, "New" );
Run Code Online (Sandbox Code Playgroud)


Siv*_*lan 18

如果您不知道要替换的位置,请使用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");
     }
 }
Run Code Online (Sandbox Code Playgroud)


won*_*nce 17

使用 ArrayList.set

list.set(2, "New");
Run Code Online (Sandbox Code Playgroud)

  • @santhanam你可以使用list.set(list.indexOf(oldObject),newObject); (6认同)