java中List中set方法和add方法的区别有哪些
这篇文章主要介绍了java中List中set方法和add方法的区别有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java中List中set方法和add方法的区别有哪些文章都会有所收获,下面我们一起来看看吧。
在临桂等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都做网站 网站设计制作按需策划,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站建设,外贸网站制作,临桂网站建设费用合理。
前言
在Java中的常用的集合接口List中有两个非常相似的方法:
E set(int index, E element);
void add(int index, E element);
这两个方法都是在集合的指定位置插入指定的元素,那么这两个方法到底有什么区别呢?接下来我们通过ArrayList这个我们常用集合实现来看一下这两个方法的差异
相同点
首先我们来看一下这两个方法在ArrayList中的相同点
他们都会在集合的指定位置插入新的元素,例如下面的例子:
#在集合的第2位插入一个 F # 通过add方法插入 Listlist = new ArrayList (); list.add("A"); list.add("B"); list.add("C"); System.out.println(list); list.add(2, "F"); System.out.println(list); #运行结果: [A, B, F, C] #通过set方法插入 List list = new ArrayList (); list.add("A"); list.add("B"); list.add("C"); System.out.println(list); list.set(2, "F"); System.out.println(list); #运行结果: [A, B, F]
上述两个方法中的element都不允许为null,如果为null的话会抛出NullPointerException
上述两个方法中的element对应的类如果无法存入该集合,都会抛出ClassCastException异常
上述两个方法中的element对应的类型如果无法存入该集合,都会抛出IllegalArgumentException异常
不同点
第一个不同点从上面的例子就可以看出来,add 方法是在指定位置插入新的值,然后将原先位置的元素
和原先位置之后的所有元素都向后移动了一位,而 set 方法是直接覆盖了原来的元素
#在集合的第2位插入一个 F # 通过add方法插入 Listlist = new ArrayList (); list.add("A"); list.add("B"); list.add("C"); System.out.println(list); list.add(2, "F"); System.out.println(list); #运行结果: [A, B, F, C] #通过set方法插入 List list = new ArrayList (); list.add("A"); list.add("B"); list.add("C"); System.out.println(list); list.set(2, "F"); System.out.println(list); #运行结果: [A, B, F]
add 方法对于index的取值范围是 0<= index <= size(),也就是说add方法可以在当前集合的最后一个元素后面再添加一个新元素;set 方法对于index的取值范围是 0< index < size(),也就是说set方法只能覆盖当前已有的元素,取值范围不能超出当前集合元素的范围
#通过add在当前集合的第四个位置插入F Listlist = new ArrayList (); list.add("A"); list.add("B"); list.add("C"); System.out.println(list); list.add(3, "F"); System.out.println(list); #运行结果: [A, B, C, F] #通过set在当前集合的第四个位置插入F List list = new ArrayList (); list.add("A"); list.add("B"); list.add("C"); System.out.println(list); list.set(3, "F"); System.out.println(list); #运行结果: 抛出NullPointerException
关于“java中List中set方法和add方法的区别有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“java中List中set方法和add方法的区别有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。
网站名称:java中List中set方法和add方法的区别有哪些
文章路径:http://scyanting.com/article/poepsh.html