首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >List的add方法与addAll方法的区别、StringBuffer的delete方法与deleteCharAt的区别

List的add方法与addAll方法的区别、StringBuffer的delete方法与deleteCharAt的区别

作者头像
chenchenchen
发布于 2019-11-26 14:22:58
发布于 2019-11-26 14:22:58
94000
代码可运行
举报
文章被收录于专栏:chenchenchenchenchenchen
运行总次数:0
代码可运行

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_38004638/article/details/103163538

List的add方法与addAll方法

区别

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

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

分析

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
List list = new ArrayList<>();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插入结果如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[1, 2, 3]add方法:[[1, 2, 3]]addAll方法:[1, 2, 3]

list1与list2遍历结果如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for (List list3 : list1) {System.out.println("list1遍历结果:" list3);}for (String list4 : list2) {System.out.println("list2遍历结果:" list4);}结果:list1 遍历结果:[1, 2, 3]list2 遍历结果:1list2 遍历结果:2list2 遍历结果:3

StringBuffer的delete方法与deleteCharAt的区别

区别

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

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

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

示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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);

控制台输出结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
buff=0123456789deletionBack=01256789delectCharAtBack=012345679
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/11/20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
再次理解泛型
Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。
对话、
2022/02/22
5320
【day20】集合深入探讨
按照斗地主的规则,完成洗牌发牌的动作。具体规则:使用54张牌打乱顺序,三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌。
程序员波特
2024/12/30
910
【day20】集合深入探讨
Java中的泛型讲解【最详细】【精美版】
在前面学习集合时,我们都知道集合中是可以存放任意对象的,只要把对象存储集合后,那么这时他们都会被提升成Object类型。当我们在取出每一个对象,并且进行相应的操作,这时必须采用类型转换。
编程张无忌
2022/10/04
3480
Java中的泛型讲解【最详细】【精美版】
ArrayList扩容1.5倍
当ArrayList不为空时,并且它的大小不超过10时,它的容量都是10.但当大小从10增加到11时,容量变成了15,扩大了1.5倍.
全栈程序员站长
2022/08/10
4630
ArrayList扩容1.5倍
java之泛型
所谓泛型,就是允许自定义类,接口通过一个标识类中的某个属性的类型或者是某个方法的返回值及参数类型。
OY
2022/03/12
4070
java之泛型
JDK1.9-泛型
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
cwl_java
2019/12/03
3970
Java集合详解8:Java集合类细节精讲
《Java集合详解系列》是我在完成夯实Java基础篇的系列博客后准备开始写的新系列。
全栈程序员站长
2022/08/22
2750
初学者第58节之Collections工具类
此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection 支持的新 collection,以及少数其他内容。
用户5224393
2019/08/20
4960
ArrayList与线性表详解
线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表有:顺序表、链表、队列……
用户11070251
2024/04/11
1300
ArrayList与线性表详解
Java(集合②)
Iterator迭代器是一个接口,我们无法直接使用,需要使用Iterator接口接口的实现类对象,获取方式比较特殊;
全栈开发日记
2022/05/12
3890
Java List 最常用的 4 种去重方法以及性能对比测试数据(使用Kotlin 语言编程)
对一个 List 列表里的元素去重, 是我们在平时工作项目中经常用到的操作, 这里给出常用的 4 中去重算法, 并给出了性能测试对比数据.
一个会写诗的程序员
2020/04/02
2.4K0
java_Collection、Map、泛型的使用
集合按照其存储结构可以分为两大类,分别是 单列集合 java.util.Collection 双列集合 java.util.Map
咕咕星
2020/08/19
1.2K0
java_Collection、Map、泛型的使用
【JAVA数据结构】(ArrayList)顺序表
ArrayList 是Java集合框架中的一个类,底层使用的数据结构就是顺序表,它实现了List接口,提供了动态数组的功能,ArrayList可以根据需要自动进行扩容(不指定容量大小也能正常添加元素),允许存储任意类型的对象。
用户11292525
2024/09/26
1560
【JAVA数据结构】(ArrayList)顺序表
Java基础(二十):泛型
Java微观世界
2025/01/21
2130
Java基础(二十):泛型
知识改变命运 数据结构【顺序表】
线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结 构,常见的线性表:顺序表、链表、栈、队列… 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物 理上存储时,通常以数组和链式结构的形式存储。
用户11319080
2024/10/17
1180
知识改变命运 数据结构【顺序表】
Java知识点——Stream流
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FQC4twIB-1584855460869)(img/流水线引入Stream思想.png)]
用户7073689
2020/03/23
5430
【Java基础增强】Stream流
现在有两个ArrayList集合,分别存储6名男演员名称和6名女演员名称,要求完成如下的操作
陶然同学
2023/10/14
2730
【Java基础增强】Stream流
Java学习笔记(三):集合类与常用数据结构的典型用法
foochane :https://foochane.cn/article/2019122801.html 1 Collection集合 1.1 集合概述 在前面基础班我们已经学习过并使用过集合A
foochane
2020/02/13
9570
顺序表的奥秘:高效数据存储与检索
小舒不服输
2024/01/31
2220
顺序表的奥秘:高效数据存储与检索
面试难题:Java 数组转 List 的3种 性能对比!
本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析。
搜云库技术团队
2021/08/20
8740
相关推荐
再次理解泛型
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档