java - 在数组列表中的某个位置设置和添加项目时的首选项

标签 java list arraylist

我想我本质上要问的是 ArrayList 上这两个操作的顺序之间的差异。

假设您有以下数组列表

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 执行同样的操作except switch 最后两条语句

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 。不应该list2是?

[Tom, Klaus]

不应该list

[Tom, Klaus]

最佳答案

很简单

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

我希望,你现在明白了。

关于java - 在数组列表中的某个位置设置和添加项目时的首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22900060/

相关文章:

java - 在 ArrayList() 中查找最常见的 String

java - 从数组列表写入文件,反之亦然

java - Java中的ArrayList只打印List中的最后一个对象

java - Java文件读取

java - 为什么 Java 的 "protected"的保护程度低于默认值?

java - 二元决策图

python - 从列表元素形成字典

python - 如何在 python 中复制列表的元素?

python - 使用列表推导调用函数列表

java - 从maven导入自己的项目时出错