Java 在arraylist中的某个位置设置和添加项时的首选项
我想我本质上要问的是ArrayList上这两个操作的顺序之间的差异 假设您有以下数组列表Java 在arraylist中的某个位置设置和添加项时的首选项,java,list,arraylist,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"); S
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);
然后对list2执行相同的操作,只是切换最后两条语句
list2.add("Tom");
list2.add("Jerry");
list2.set(1,"Harry");
list2.add(1,"Klaus");
System.out.println(list2);
输出
[Tom, Klaus, Jerry]
[Tom, Klaus, Harry]
当在某个位置设置值时
为什么列表
在位置+1
添加一个项目,当您尝试在位置
添加一个新项目时,就像在第二个列表
中一样。list2不应该是吗
[Tom, Klaus]
而且不应该列出
[Tom, Klaus]
这很简单
add
在给定索引处插入新值
及
设置
替换给定索引处的值
查看每个语句后的输出
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
希望你现在明白了。很简单
add
在给定索引处插入新值
及
设置
替换给定索引处的值
查看每个语句后的输出
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
我希望您现在就知道了。添加:在列表中的指定位置插入指定的元素
集合:将此列表中指定位置的元素替换为指定元素。添加:将指定元素插入此列表中的指定位置
集合:用指定的元素替换此列表中指定位置的元素