凯哥学堂

搜索

凯哥学堂

数组集合和链表集合

2018-4-17 23:46| 发布者: 可可| 查看: 1| 评论: 0|原作者: 追梦

凯哥学堂 首页 资讯 学习笔记 JavaSE 查看内容

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

数组集合:

优点:

1.有序 2.可以进行下标操作 3.添加速度快 缺点: 1.删除,删除第一个,删除最后一个,选择一个位置删除这些都不方便操作 2.插入数据也不方便

例题:比如你想插入88的数据到3的后面,那你后面得到4567就要往后挪位置,所以这种方式就非常麻烦,所以使用链表集合的话就方便一些

image

链表集合:

介绍:就好比是自行车的车链,它的好处就是你可以随便找一个地方增加一个,也可以随便找个地方删除一个,链分为两种,一是单链,二是双链,单链就是你只知道上家,而不知道下家,双链就是你知道上家,上家也知道下家,它是用地址来形成链的关系的,单链就是单引用关系,双链就是双引用关系

image

如下图:就是单链模式的,纸条不知道小吴在哪里,小吴不知道灵猫在哪里,只有上家知道下家,而下家不知道上家,如果中间断了一条引用,那后面的数据就丢失了

image

如下图:是双链模式的,下家知道上家,上家也知道下家,他们都是引用关系,互相引用着

image

它的用处就是可以刚好伱补数组集合的缺点,比方说你想在灵猫后面加个兔斯基,就很容易加,它没有任何变动,比方要删除灵猫,直接大黑牛不指向它,绕道指向兔斯基就行了

image

例题:下图是添加方法

image

添加方法的原理:首先申请两个属性,tou和wei都是null,如果你想存A1进去的话,写个if判断一下如果是空的下面就new出一个数组长度为3的,然后存A1进去,那样头跟尾都指向A1了,当申请A2的时候那就引用A1的整个数组,当申请A3的时候第一格指向A2整个数组,而A2的最后一格指向新的数组,然后把A2指向wei的线路断开,指向新的数组,这样的话就形成了双链式的集合内存

image

如下图方法:就是向前添加方法,还有向后添加,向后添加直接传进e就行了,因为前面写的那个方法就是向后添加的

image

如下图:是删除前面数据的方法

image

如下图:是删除后面数据的方法

image


上一篇:JavaSE——Arrays

关注我们


微信

微博

QQ