链表:
节点Node是单项链表中的基本单元
每一个节点node都有2个属性:
一个属性是:存储数据的
另外一个是:是下一个节点的内存地址
ArrayLsit(底层是数组) 把检索发挥到极致 (末尾添加元素效率还是很高)
LinkedList(底层是双向链表):把随机增删发挥到极致。
加元素都是往末尾添加,所以ArrayLsit比LinkedList多
链表优点:由于链表上的元素的在空间存储上内存地址是不连续的
所以随机增删元素的时,不会发生大量元素位移,因此随机增删较高。检索效率低,空间内存地址不连续
在以后的开发中,如果遇到随机增删集合元素中的业务比较多的时候,建议使用LinkedList
缺点:不能通过数学表达式计算被查找元素的内存地址,每一次查询都是从头节点开始遍历,直到找到为止。所以LinkedList集合效率较低。
二叉树
遵循左小右大的原则存放
队列
就是一个先进先出的结构
栈
就是一个先进后出的结构。