list add java_list.add()和list.addAll()的区别
List.add()
往List 中增加list。但是,它增加的是一个List 实例。如果往容器中增加的那个List 实例从数据库中查到的结果有5条,使用了List.add(list1);程序只会输出一条记录。原因就是:List.add() 加List 实例,它会把这个看一个实例,而不是把那个看成一个容器。
List.add() 的含义就是:你往这个List 中添加对象,它就把自己当初一个对象,你往这个List中添加容器,它就把自己当成一个容器。
List.addAll()方法
List.addAll()规定了,自己的这个List 就是容器,往里面增加的List 实例,增加到里面后,都会被看成对象。 因此,当需要把多个List 实例放到一起的时候,必须使用List.addAll()方法。
示例(输出结果帮助理解)
List list1=new ArrayList();
list1.add(1);
list1.add(2);
List list2=new ArrayList();
list2.add(0);
list2.add(3);
list1.addAll(1, list2);
list2.add(list1);
System.out.println(list2.size()+":list2.size()");
System.out.println(list1.size()+":list1.size()");
for (int i = 0; i < list1.size(); i++) {
System.out.println(list1.get(i));
}
System.out.println("++++++++++++++++++++++++++++++++++");
for (int i = 0; i < list2.size(); i++) {
System.out.println(list2.get(i));
}
List list1=new ArrayList();
list1.add(1);
list1.add(2);
List list2=new ArrayList();
list2.add(0);
list2.add(3);
list1.addAll(1, list2);
list2.add(list1);
System.out.println(list2.size()+":list2.size()");
System.out.println(list1.size()+":list1.size()");
for (int i = 0; i < list1.size(); i++) {
System.out.println(list1.get(i));
}
System.out.println("++++++++++++++++++++++++++++++++++");
for (int i = 0; i < list2.size(); i++) {
System.out.println(list2.get(i));
}
输出结果:
3:list2.size()
4:list1.size()
1
0
3
2
++++++++++++++++++++++++++++++++++
0
3
3:list2.size()
4:list1.size()
1
0
3
2
++++++++++++++++++++++++++++++++++
0
3
简言之:
result.addAll(list);//把list中的每一个元素加到result中,result.size()==list.size()
result.add(list);//将list作为一个元素加到result中,则result.size()为1
list add java_list.add()和list.addAll()的区别相关推荐
- List 的add()与addAll()的区别
add 是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会另当前的List增加1个元素 addAll 是传入一个List,将此List中的所有元素加入到当前List中,也 ...
- java中add和addall区别,java中list的add与addall方法区别
在做项目时我遇到过这样的问题,java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.alibaba.gette ...
- brconfig bridge0 add emac0 add vp0 up
8.brconfig bridge0 add emac0 add vp0 up brconfig实用程序用于配置网桥参数和从内核检索网络桥接参数和状态. add interface 添加接口作为网桥的 ...
- java f.add()_f.add(p1,First); 那个“First”是什么意思呀?
f.add(p1,"First"); 那个"First"是什么意思呀? f.add(p1,"First"); f是Frame类实例 p1是P ...
- 【Git】git add -A = git add . + git add -u
git add -A stages All git add . stages new and modified, without deleted git add -u stages modified ...
- mysql add trandata_OGG add trandata 到底做了什么
有的时候我们做OGG的时候add trandata会出现异常. 这里就剖析一下add trandata到底做了什么 GGSCI (yjfora81 as ggs_admin@testdb) 2> ...
- Eclipse中的add import与organize imports有什么区别
您好,是这样的: add import应该就是快捷键ctrl+shift+m的操作. organize imports应该是ctrl+shift+o的操作. add import导入指定的类. org ...
- _002_Eclipse中的add import与organize imports有什么区别
add import应该就是快捷键ctrl+shift+m的操作. organize imports应该是ctrl+shift+o的操作. add import导入指定的类. organize imp ...
- mysql add column_MySQL ADD COLUMN
MySQL ADD COLUMN 简介:在本教程中,我们将向您展示如何使用MySQL ADD COLUMN语句向表中添加列. MySQL ADD COLUMN语句简介 要向现有表添加新列,请使用ALT ...
- mysql add column_SQL Add Column
在本教程中,我们来学习如何使用ALTER TABLE语句的SQL ADD COLUMN子句将一个或多个列添加到现有表中. 1. SQL ADD COLUMN子句简介 要向表中添加新列,可使用ALTER ...
最新文章
- 对于模板渲染的页面,如何针对渲染出来的对象添加事件
- mysql innodb表分区
- 模板网站建设过程中需要注意哪些细节问题?
- [云炬创业管理笔记]第四章把握创业机会测试6
- LeetCode 10 正则表达式匹配
- 一张图搞懂Spring bean的完整生命周期
- 使用Navicat管理MySQL用户
- vue页面传参(多个参数传值)与接参 - 代码篇
- MssqlOnLinux 主从集群【2】
- 笔记本电脑下载python视频-如何用Python在笔记本电脑上分析100GB数据(下)
- 百度指数邀请序列号_腾讯第8款社交AppHood 上线;抖音内测云游戏、直播回放等新功能;百度推出多人视频社交App一起吧| 产品挖掘机...
- JS Jquery 中 的遍历
- 【转】Tapestry5和Eclipse的整合
- android自定义popwindow,Android应用开发Android 自定义PopWindow的简单使用
- 爱和感恩2021年末记
- 百度BAE的一些使用心得
- 1,vue播放视频之—引入.m3u8后缀的hsl视频流
- 深度学习的过拟合与欠拟合问题的介绍与解决方案
- 手机页面下拉刷新效果
- 重写重载—重写详细解释
热门文章
- TQJson序列和还原clientdataset.data
- ios音乐播放器使用综述
- c#调用python的四种方法
- unity中移动lindrender和transform, 两个点的位置
- 工作手册 教育教学总结与研究工作规范 1.总则 教育教学 总结和教育教学研究工作是发现问题、总结经验、不断提高教育教学质量的重要措施。为保障教育教学总结和教育教学研究工作
- Atitit 数据处理查询 中的异常标准化草案 jpa jdbc hb oql规范attilax总结
- Atitti.dw cc 2015 绿色版本安装总结
- Atitit.跨语言 java c#.net php js常用的codec encode算法api 兼容性 应该内置到语言里面
- paip.hibernate list 返回位null的解决
- paip.提升性能---mysql 性能 测试以及 参数调整.txt