Java List——list.add(index, element)和list.set(index, element)的区别
add(index, element)
- 含义:在集合索引为index的位置上增加一个元素element,集合list改变后list.size()会增加1
- 用法
- testList.add(index, element);
set(index, element)
- 含义:在集合索引为index的位置上改变一个元素,改变后的元素为element,集合list改变后list.size()不变
- 用法
- testList.set(index, element);
- Integer set = testList.set(index, element);
- 返回值:原list集合中,索引为index的元素。
使用条件
- 不符合条件会报错
- add(index, element)
- list != null
- index需要小于等于list.size()
- set(index, element)
- list != null && list.size() !=0
- index需要小于list.size()
例子
- 一:add(index, element)和set(index, element)插入集合对比
- 代码
public class TestList { private static List<Integer> testList; public static void main(String[] args) { initList();//初始化list System.out.println("initList="+testList.toString()); System.out.println("initList.size="+testList.size()); addList();//add list System.out.println("addList="+testList.toString()); System.out.println("addList.size="+testList.size()); System.out.println("##############################"); initList();//初始化list System.out.println("initList="+testList.toString()); System.out.println("initList.size="+testList.size()); setList();//set list System.out.println("setList="+testList.toString()); System.out.println("setList.size="+testList.size()); } /** * 初始化list */ private static void initList(){ testList = new ArrayList<Integer>(); testList.add(1); testList.add(2); testList.add(3); testList.add(4); } /** * add list */ private static void addList(){ testList.add(2, 20); } /** * set list */ private static void setList(){ testList.set(2, 20); } }
- 执行结果
initList=[1, 2, 3, 4] initList.size=4 addList=[1, 2, 20, 3, 4] addList.size=5 ############################## initList=[1, 2, 3, 4] initList.size=4 setList=[1, 2, 20, 4] setList.size=4
- 代码
- 二:set(index, element)返回值对比
- 代码
public class TestListTwo { private static List<Integer> testList; public static void main(String[] args) { initList();//初始化list System.out.println("initList="+testList.toString()); Integer retValue = setList();//set list System.out.println("setList="+testList.toString()); System.out.println("setList的返回值="+retValue); } /** * 初始化list */ private static void initList(){ testList = new ArrayList<Integer>(); testList.add(1); testList.add(2); testList.add(3); testList.add(4); } /** * set list */ private static Integer setList(){ Integer retValue = testList.set(2, 20); return retValue; } }
- 执行结果
initList=[1, 2, 3, 4] setList=[1, 2, 20, 4] setList的返回值=3
- 代码
- Next