两个方法主要区别在于添加之后元素位置不同
帮助文档中解释的很清楚 , 先写一个简单的demo来验证一下
List<String> lista = new ArrayList<>();
lista.add("a");
lista.add("b");
lista.add("c");
lista.add("d");
System.out.println("原来数据:"+lista);
lista.set(0, "x");
System.out.println("set方法后"+lista);
lista.add(0, "x");
System.out.println("add方法后"+lista);
得出结果:
原来数据:[a, b, c, d]
set方法后[x, b, c, d]
add方法后[x, x, b, c, d]
帮助文档释义:
1.void add(int index, E element)
参数
index - 要插入指定元素的索引
element - 要插入的元素
结果
将指定的元素插入此列表中的指定位置(可选操作)。 将当前位于该位置的元素(如果有)和任何后续元素(向其索引添加一个)移动。
2.E set(int index,E element)
用指定的元素(可选操作)替换此列表中指定位置的元素。
参数
index - 要替换的元素的索引
element - 要存储在指定位置的元素
结果
该元素以前在指定的位置
今日复习时若有所思 , 如果不对之处 , 还请指正 ~~