我仍然是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]
。我怎样才能做到这一点?
谢谢。
答案 0 :(得分:228)
使用set
方法将旧值替换为新值。
list.set( 2, "New" );
答案 1 :(得分:17)
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]