list集合中的add和addall区别
一、前言
在工作中, 我们用的比较多的就是集合就是list集合和map集合了。特别是如果只是存储多个对象,那list真实再好用不过了。
我们平时在添加元素的时候用的最多的就是add()方法,而 对于添加元素其实还要个方法就是addall() ,那这两者都是用来作为一个添加元素的存在,又有什么区别和联系呢?
二、list中的add和addall方法
在jdk中的官方文档中,是这样描述的:

2.1 区别
- 可以看到,add方法是将元素可以插在指定的位置,如果参数只有一个的话就默认插在队列的尾部,而对于addall方法,可以看其实作用差不多,但是参数必须为collection 集合。
- add方法参数为泛型e,所以他是支持任意类型的,但是这里要注意的一点是,如果你使用add方法并且传的参数为集合,那么其实 list集合会把这个参数中的集合当做一个整体,添加到原本的集合中。而addall方法,则会把参数里面的集合给分别放进原本的集合中;
2.2 源码

可以看到实际添加功能是在它的父类里面的addall方法中实现的。

现在它的原理就很简单了,它是通过一个foreach 循环遍历后得到参数集合中的每个元素,在循环里面再分别调用add方法来实现这个功能。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论