码迷,mamicode.com
首页 > 其他好文 > 详细

容器与数据结构

时间:2020-02-06 23:18:48      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:str   add   src   扩容   rem   lin   源码   arraylist   溢出   

一:容器

分类:

技术图片

增:

c.add("123");
c.add("456");
c.add("456");
//c=["123","456","456"]

这两个456字符串是不是一个对象呢
这里是否是一个对象还是遵循字符串是否是一个对象的原则,如果是字符串字面量则是一个对象,如果是字面量拼接也是,但是如果是变量的拼接就不是了。
ArrayList:数组,查询效率高 增删效率低 线程不安全
LinkedList 链表 增删效率高 查询效率低 线程不安全
Vector 线程安全

删:

c.remove("456")

技术图片
这里两个456字符串对象虽然是同一个对象,但是如图源码里的remove,当找到一个就return了,如果想要删除所有的456,可以使用removeAll

c1=["456"];
c.removeAll(c1);

改:

c.set(1,"789");

查:

c.get(1);

ArrayList

可变长(数组扩容 要溢出了时创建更大的数组,把老数组copy过去覆盖新数组)

容器与数据结构

标签:str   add   src   扩容   rem   lin   源码   arraylist   溢出   

原文地址:https://www.cnblogs.com/shuzi0806/p/12271091.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!