在arraylist中的某个位置设置和添加项目时的首选项

时间:2014-04-06 21:07:23

标签: java list arraylist

我想我基本上要问的是ArrayList上这两个操作的顺序之间的区别。

假设您有以下arraylists

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

list.add("Tom");
list.add("Jerry");
list.add(1,"Harry");
list.set(1,"Klaus");
System.out.println(list);

输出

[Tom, Klaus, Jerry]

然后为list2做同样的事情,除了切换最后两个语句

list2.add("Tom");
list2.add("Jerry");
list2.set(1,"Harry");
list2.add(1,"Klaus");
System.out.println(list2);

输出

[Tom, Klaus, Harry]

当某个set的值为posiotion时,为什么list add当您尝试position+1时,add处的项目为position list上的新项目,如第二个{​​{1}}。不应该list2

[Tom, Klaus]

不应该list

[Tom, Klaus]

2 个答案:

答案 0 :(得分:3)

非常简单

add在给定索引处插入新值

set替换给定索引处的值。


查看每个语句后的输出。

list.add("Tom");      // Tom
list.add("Jerry");    // Tom, Jerry
list.add(1,"Harry");  // Tom, Harry, Jerry
list.set(1,"Klaus");  // Tom, Klaus, Jerry


list2.add("Tom");      // Tom
list2.add("Jerry");    // Tom, Jerry
list2.set(1,"Harry");  // Tom, Harry
list2.add(1,"Klaus");  // Tom, Klaus, Harry

我希望,你现在明白了。

答案 1 :(得分:1)

add:将指定元素插入此列表中的指定位置。

set:用指定的元素替换此列表中指定位置的元素。