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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」