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

我试图更新一个 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]。我怎么能这么做?

366787 次浏览

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

list.set( 2, "New" );

使用 ArrayList.set

list.set(2, "New");

你必须使用

list.remove(indexYouWantToReplace);

第一。

你的元素会变成这样

再加上这个

list.add(indexYouWantedToReplace, newElement)

你的元素会变成这样

如果不知道要替换的位置,请使用列表迭代器查找和替换元素 Set (E e)

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