数组集合和链表集合
Posted 凯哥学堂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组集合和链表集合相关的知识,希望对你有一定的参考价值。
声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
数组集合:
优点:
1.有序 2.可以进行下标操作 3.添加速度快 缺点: 1.删除,删除第一个,删除最后一个,选择一个位置删除这些都不方便操作 2.插入数据也不方便
例题:比如你想插入88的数据到3的后面,那你后面得到4567就要往后挪位置,所以这种方式就非常麻烦,所以使用链表集合的话就方便一些
链表集合:
介绍:就好比是自行车的车链,它的好处就是你可以随便找一个地方增加一个,也可以随便找个地方删除一个,链分为两种,一是单链,二是双链,单链就是你只知道上家,而不知道下家,双链就是你知道上家,上家也知道下家,它是用地址来形成链的关系的,单链就是单引用关系,双链就是双引用关系
如下图:就是单链模式的,纸条不知道小吴在哪里,小吴不知道灵猫在哪里,只有上家知道下家,而下家不知道上家,如果中间断了一条引用,那后面的数据就丢失了
如下图:是双链模式的,下家知道上家,上家也知道下家,他们都是引用关系,互相引用着
它的用处就是可以刚好伱补数组集合的缺点,比方说你想在灵猫后面加个兔斯基,就很容易加,它没有任何变动,比方要删除灵猫,直接大黑牛不指向它,绕道指向兔斯基就行了
例题:下图是添加方法
添加方法的原理:首先申请两个属性,tou和wei都是null,如果你想存A1进去的话,写个if判断一下如果是空的下面就new出一个数组长度为3的,然后存A1进去,那样头跟尾都指向A1了,当申请A2的时候那就引用A1的整个数组,当申请A3的时候第一格指向A2整个数组,而A2的最后一格指向新的数组,然后把A2指向wei的线路断开,指向新的数组,这样的话就形成了双链式的集合内存
如下图方法:就是向前添加方法,还有向后添加,向后添加直接传进e就行了,因为前面写的那个方法就是向后添加的
如下图:是删除前面数据的方法
如下图:是删除后面数据的方法
以上是关于数组集合和链表集合的主要内容,如果未能解决你的问题,请参考以下文章
Java集合核心内容之数组和链表,大厂越来越注重基础了,建议收藏