List的add方法与addAll方法

区别

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

addAll
addAll是传入一个List,将此List中的所有元素加入到当前List中,也就是当前List会增加的元素个数为传入的List的大小

分析
List result = new ArrayList();

// add(int index,Elelemt e)把list中的每一个元素加到result中,result.size()==list.size()
result.addAll(list);

//addAll(Collection c)将list作为一个元素加到result中,则result.size()为1
result.add(list);
--------------------------------------

addAll(Collection c)

此方法按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。如果正在进行此操作时修改指定的 collection ,那么此操作的行为是不确定的。(这意味着如果指定的 collection是此列表且此列表是非空的,那么此调用的行为是不确定的)。

C:包含要添加到此列表中的元素的 collection

return:如果此列表由于调用而发生更改,则返回 true

Throws:NullPointerException: 如果指定的 collection 为 null

示例

List list = new ArrayList<>();
List<List> list1 = new ArrayList<>();
List list2 = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
System.out.println(list);
list1.add(list);
System.out.println("add方法:"+list1);
list2.addAll(list);
System.out.println("addAll方法:"+list2);

list1与list2插入结果如下:
[1, 2, 3]
add方法:[[1, 2, 3]]
addAll方法:[1, 2, 3]

list1与list2遍历结果如下:

for (List list3 : list1) {
System.out.println("list1遍历结果:"+list3);
}for (String list4 : list2) {
System.out.println("list2遍历结果:"+list4);
}
结果:
list1 遍历结果:[1, 2, 3]
list2 遍历结果:1
list2 遍历结果:2
list2 遍历结果:3

StringBuffer的delete方法与deleteCharAt的区别

区别

delete方法与deleteCharAt两个方法都是用来删除StringBuffer字符串指定索引字符的方法,

delete(int  a,int  b)有两个参数,使用时删除索引从a开始(包含a)到b(不包含b)的所有字符;

deleteCharAt(int  a)只有一个参数,使用时删除索引为a的字符;

示例

StringBuffer buff = new StringBuffer("0123456789");
System.out.println("buff="+buff);

//删除下标从3到5的字符
buff.delete(3,5);
System.out.println("deletionBack="+ buff);

buff = new StringBuffer("0123456789");
//删除下标为8字符
buff.deleteCharAt(8);
System.out.println("delectCharAtBack="+buff);

控制台输出结果:
buff=0123456789
deletionBack=01256789
delectCharAtBack=012345679

List的add方法与addAll方法的区别、StringBuffer的delete方法与deleteCharAt的区别的更多相关文章

  1. StringBuffer的delete方法与deleteCharAt方法的区别。

    delete方法与deleteCharAt两个方法都是用来删除StringBuffer字符串指定索引字符的方法, delete(int  begin,int  end)有两个参数,使用时删除索引从be ...

  2. 浅谈http协议六种请求方法,get、head、put、delete、post、options区别

    标准Http协议支持六种请求方法,即: 1.GET 2.POST 3.PUT 4.Delete 5.HEAD 6.Options 但其实我们大部分情况下只用到了GET和POST.如果想设计一个符合RE ...

  3. 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别

    GET: 请求指定的页面信息,并返回实体主体.HEAD: 只请求页面的首部.POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体.PUT: 从客户端向服务器传送的数据取代指定的文档 ...

  4. php 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别

    GET: 请求指定的页面信息,并返回实体主体.HEAD: 只请求页面的首部.POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体.PUT: 从客户端向服务器传送的数据取代指定的文档 ...

  5. Hibernate&nbsp;Session的delete()方法

    本文介绍Hibernate Session的delete()方法.delete()方法用于从数据库中删除与Java对象对应的记录.对应游离对象和持久化对象,delete语句会做出不同的反应. AD:  ...

  6. list的add()方法与addAll()方法简介

    简单描述:月读别人的代码,发现了一个有意思的东西,list的一个方法,addAll(),然后就去度娘了一下,发现这个还挺有用的. 吐槽一下:为什么自己没发现这个方法呢?因为平时自己写list的时候,基 ...

  7. docker Dockerfile指令ADD和COPY的区别,添加目录方法

    docker Dockerfile指令ADD和COPY的区别,添加目录方法 ADD指令的功能是将主机构建环境(上下文)目录中的文件和目录.以及一个URL标记的文件 拷贝到镜像中.其格式是: ADD 源 ...

  8. 反射-优化及程序集等(用委托的方式调用需要反射调用的方法(或者属性、字段),而不去使用Invoke方法)

    反射-优化及程序集等(用委托的方式调用需要反射调用的方法(或者属性.字段),而不去使用Invoke方法)   创建Delegate (1).Delegate.CreateDelegate(Type, ...

  9. 用JQuery中的Ajax方法获取web service等后台程序中的方法

    用JQuery中的Ajax方法获取web service等后台程序中的方法 1.准备需要被前台html页面调用的web Service,这里我们就用ws来代替了,代码如下: using System; ...

随机推荐

  1. jQuery遍历not的用法

    从包含所有段落的集合中删除 id 为 "selected" 的段落: $("p").not("#selected") 定义和用法 not() ...

  2. 矩阵库Numpy基本操作

    NumPy是一个关于矩阵运算的库,熟悉Matlab的都应该清楚,这个库就是让python能够进行矩阵话的操作,而不用去写循环操作. 下面对numpy中的操作进行总结. numpy包含两种基本的数据类型 ...

  3. c++对c的扩展----引用类型

    变量是一个内存的别名,程序通过变量名使用内存空间,当然一个内存空间可以起多个别名么? 答案:可以,这就是c++中引用的由来,引用就是给变量起别名 引用是c++的概念!!!况且声明引用的符号&十 ...

  4. tarjan等

    有向图注意v在栈中时,才用dfn更新low.无向图不用判断这个. SCC和边双,都是在返回时判断low==dfn. 点双就是找割点,low(v)>=dfn(u)时,把tarjan(v)过程中放入 ...

  5. 对象(Object)相关

    详情参考 1.对象的表示方法 js原生提供Object构造函数.js中所有的对象都是Object的实例. 定义一个对象最简单的就是var obj = {}; ES6属性和方法允许简写.对象的super ...

  6. ueditor+复制word图片粘贴上传

    Chrome+IE默认支持粘贴剪切板中的图片,但是我要发布的文章存在word里面,图片多达数十张,我总不能一张一张复制吧?Chrome高版本提供了可以将单张图片转换在BASE64字符串的功能.但是无法 ...

  7. 「CF716D」Complete The Graph「最短路」

    题意 给定一个\(n\)个点\(m\)条边的无向图,有一些边权暂时为\(0\),你需要分配一个\([1, 10^{18}]\)的数.最终使得\(s\)到\(t\)最短路为\(L\),输出一个可行的分配 ...

  8. python+opencv 图像预处理

    一 python 生成随机字符串序列+ 写入到图片上 from PIL import Image,ImageDraw,ImageFont import numpy as np import rando ...

  9. intle官方手册下载

    如题:https://software.intel.com/en-us/articles/intel-sdm#three-volume 方便哪些不会怎么搜索的同学吧. 链接: https://pan. ...

  10. 修复grub rescue问题

    前几天,手欠点了下win10的系统升级,直接从17.09升级到了19.3虽然也有些波折,总体顺利,以为一切都完事大吉之时,重启系统,原来,万恶的win10给我挖好了坑,早等着我呢.我去,千万只cnm脑 ...