List 的add()与addAll()的区别

add 是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会另当前的List增加1个元素
addAll 是传入一个List,将此List中的所有元素加入到当前List中,也就是当前List会增加的元素个数为传入的List的大小

addAll(Collection c)
add(int index, Elelemt e)
--------------------------------------
addAll(Collection c)
此方法按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。如果正在进行此操作时修改指定的 collection ,那么此操作的行为是不确定的(这意味着如果指定的 collection 是此列表且此列表是非空的,那么此调用的行为是不确定的)。
C             包含要添加到此列表中的元素的 collection
return     如果此列表由于调用而发生更改,则返回 true
                NullPointerException: 如果指定的 collection 为 null
Throws
eg:
Collection result = new ArrayList();
Collection list = new ArrayList();
......
分析:
result.addAll(list); // 把list中的每一个元素加到result中,result.size() == list.size()
result.add(list); // 将list作为一个元素加到result中,则result.size()为1

猜你喜欢

转载自www.cnblogs.com/SmallStrange/p/10608978.html