-------
android培训
、
java培训
、期待与您交流! ----------
乍一看,集合的体系还是相当大的,需要快速掌握对集合各种类的使用环境需要对其底层的数据结构进行了解掌握。我在此就分享一下集合中涉及以及一些常用的数据结构。java集合框架中涉及的数据结构有与ArrayList中数组类似的顺序表,LinkedList中的双端队列链表,Stack的栈,以及TreeMap中的红黑树。
一、线性表(LinearList)
线性表:是n(n≥0)个具有相同类型的数据元素的有限序列。
1、顺序表--线性表的顺序结构
顺序表:用一组地址连续的存储单元一次存放线性表的元素。设顺序表中放入的数值依次为1、2、3等,则其存储结构图如下:
从上面的图形就可以很快发现,顺序表与一维数组相似,顺序表的底层是靠数组来实现的。顺序表是一种随机存取的存储结构,依靠下标进行查询,因此效率高,但增删操作时,需要移动大量元素。
2、链表--线性表的链式存储结构
链表:采用一组地址任意的存储单元存放线性表中的元素,链式结构的线性表不会按照线性的逻辑顺序来保存数据元素,他需要在每一个元素中保存一个指向下一个元素的引用。
链表的基本存储结构单元:有序元素需要保存下一个元素的引用, 因此,其结构单元中具有data存放内容,next存放下一个元素的引用,如图
单链表--最简单的链表
单链表:由一组存储单元连接而成,结构图如下,