ArrayList、LinkedList、HashMap
创始人
2024-03-24 02:41:19

 ArrayList

特点:元素有放入顺序,元素可重复

存储结构:底层采用数组来实现的,数组在内存中是需要连续的存储单元的

public class ArrayList extends AbstractListimplements List, RandomAccess, Cloneable, java.io.Serializable

 数组:采用一段连续的存储单元来存储数据。特点是查询的时间复杂度是O(1),删除插入为O(N),查询快,删除插入慢

 

 

 ArrayList 新增数据的时候,默认尾插法,同时还会有一个扩容方法,扩容后,将原有数据拷贝到新的数组之中

 

 Cloneable:

ArrayList支持拷贝:实现Cloneable接口,重写clone方法、方法内容默认调用父类的clone方法

浅拷贝:基础类型的变量拷贝之后是独立的,不会随着源变量变动而变 ,String类型拷贝之后也是独立的;引用类型拷贝的是引用地址,拷贝前后的变量引用同一个堆中的对象

深拷贝: 变量的所有引用类型变量(除了String)都需要实现Cloneable(数组可以直接调用clone方法),clone方法中,引用类型需要各 自调用clone,重新赋值

浅拷贝深拷贝区别:主要针对于引用数据类型而言,浅拷贝只是拷贝了一份指针引用,其实源对象并没有新增,两份数据都是引用的一份数据。而深拷贝则会在内存中重新开辟一块空间,同时新增一份地址值,此时是两个不同的源数据。

java的传参,基本类型和引用类型传参:java在方法传递参数时,是将变量复制一份,然后传入方法体去执行。复制的是栈中的内容,所以基本类型是复制的变量名和值,值变了不影响源变量,引用类型复制的是变量名和值(引用地址),对象变了,会影响源变量(引用地址是一样的)

String:是不可变对象,重新赋值时,会在常量表新生成字符串(如果已有,直接取他的引用地址值),将新字符串的引用地址赋值给栈中的新变量,因此源变量不会受影响 。

------------------------------------------------------------------------

LinkedList

存储结构:底层采用链表来实现的(双向链表)

链表:是一种物理存储单元上非连续、非顺序的存储结构,不需要连续的内存空间

特点:插入、删除时间复杂度O(1)查找遍历时间复杂度O(N),插入快查找慢,查找的时候只能通过head节点一个一个往下查,需要对整个链表进行遍历。

public  class LinkedList {
public  class LinkedList {public static void main(String[] args) {Node head = new Node("Head");Node zhang=new Node("张三");Node li=new Node("李四");head.next=zhang;head.next.next=li;System.out.println(head.data);System.out.println(head.next.data);System.out.println("============");//删除张三,让第二个节点为李四head.next=null;head.next=li;System.out.println(head.data);System.out.println(head.next.data);}
}//节点
class Node {public Node next;public Object data;public Node(Object data) {this.data = data;}
}

 

 

 

 ArrayList 和 AinkedList同时add一个元素,都是默认从尾部新增一个元素,如果ArrayList指定 了容量那么ArrayList效率更高,否则LinkedList效率更高(未指定容量的时候,会存在扩容拷贝的性能损耗)。

------------------------------------------------------------------------

 HashMap

特点: key,value存储,key可以为null,同样的key会被覆盖掉,后面的值会覆盖前面的值。

存储结构: 底层采用数组、链表、红黑树来实现的,数组是需要连续的存储单元

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...