java学习笔记:集合常见的数据结构

Source

java学习笔记:集合常见的数据结构

 

 

常见的数据结构
----
1.栈:先进后出。例如子弹夹
2.队列:先进先出。例如:排毒买票
3.数组:存储同一个数据类型的多个元素的容器,有索引,方便我们获取元素。特点:查询快,增删慢。

在数组中添加一个元素的步骤:
(1)定义一个新数组,长度是以前的数组的长度+1
(2)遍历以前的数组,得到每一个元素
(3)数前面的:按照以前的索引存储到新数组中。
   数本身:继续存储。
   数后面的:添加那个新元素,然后把索引+1存储到新数组中。

从数组中删除一个元素的步骤:
(1)定义一个新数组,长度是以前的数组的长度-1
(2)遍历以前的数组,得到每一个元素。
   数前面的:按照以前的索引存储到新数组中。
   数本身:不存储。
   数后面的:把索引-1存储到新数组中。

4.链表:由一个链子把多个节点连接起来的数据。
节点:由数据和地址组成。
特点:查询慢,增删快。
获取链表中的元素:从头开始

在链表中插入一个元素的步骤(最好自己画一个图):
(1)新元素应该也是一个节点
(2)把数本身的下一个元素地址用tmp存储。
(3)把新元素的地址付给数本身的下一个元素地址处
(4)把tmp的值赋给新元素的下一个元素地址处

从链表中删除一个元素的步骤(最好自己画一个图):
(1)把数本身的下一个元素地址用tmp存储
(2)把tmp的值赋给数本身的前一个元素的下一个元素地址处。

底层数据结构是数组结构,用ArrayList,查询快,增删慢。
底层数据结构是链表结构,用LinkedList,查询慢,增删快。
如果数据查询多,就选ArrayList。
如果数据增删多,就选LinkedList。
不知道时,选ArrayList,因为数据量少。

LinkedList的使用与ArrayList的相似。