Java中List的add方法与addAll方法的区别

0人阅读 评论(0) 收藏 举报

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

Throws

NullPointerException: 如果指定的 collection 为 null

 

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

查看评论

java中list的add与addall方法区别

在做项目时我遇到过这样的问题,java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.alibaba.gette...
  • liuhuanchao
  • liuhuanchao
  • 2016-01-15 15:12:28
  • 7388

Java list add方法和addAll方法效率

结论是: 在数据量较小时,add方法配合for循环遍历比addAll来得快.但是在大量数据时,addAll的方法的效率更高.list.addAll()是浅拷贝,只是将内存中的地址进行了拷贝,指向了原先...
  • u012441924
  • u012441924
  • 2017-07-06 14:05:20
  • 2048

List 的 add 和 addAll 方法的区别

add是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会另当前的List增加1个元素 addAll是传入一个List,将此List中的所有元素加入到当前List中,也就是...
  • lick4050312
  • lick4050312
  • 2009-09-10 11:19:00
  • 5493

Java初学习 - List中的add与addAll

add是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会另当前的List增加1个元素addAll是传入一个List,将此List中的所有元素加入到当前List中,也就是当...
  • cnmilan
  • cnmilan
  • 2014-11-12 20:15:15
  • 7167

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

add 是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会另当前的List增加1个元素 addAll 是传入一个List,将此List中的所有元素加入到当前List中,也...
  • andylau6789
  • andylau6789
  • 2015-08-28 19:11:17
  • 10399

调用Set.addAll()方法时抛UnsupportedOperationException异常

一个低级错误,却因为基础知识点的疏忽,导致程序运行出错,特记录一下。...
  • woyaoxuejavaya
  • woyaoxuejavaya
  • 2016-09-08 16:05:49
  • 1205

list的addAll方法是浅拷贝

package com.wp.test; import java.util.ArrayList; import java.util.Collections; import java.util...
  • wangpanbaoding
  • wangpanbaoding
  • 2017-02-17 17:21:48
  • 3578

Java Collections.addAll() 与 ArrayList.addAll() 的区别

我们在编码时经常需要将一些元素添加到一个List中,此时我们一般有两种选择:Collections.addAll()或者是ArrayList.addAll()。在需添加元素比较少的情况下,并在List...
  • liyuming0000
  • liyuming0000
  • 2015-10-29 12:14:32
  • 12765

Java学习笔记-List中的addAll 方法

package com.cute; import java.util.ArrayList; import java.util.List; public class ListTes...
  • u010180815
  • u010180815
  • 2016-08-14 11:09:24
  • 6359

list.addAll()是浅拷贝,如何实现list的深拷贝

由于addAll()实现的是浅拷贝,即将 List A> copy=new ArrayList A>(); List A> src=new ArrayList A>(); src.a...
  • xjbclz
  • xjbclz
  • 2016-10-23 14:47:40
  • 3100
    个人资料
    等级:
    访问量: 2万+
    积分: 509
    排名: 10万+
    文章分类
    最新评论