集合之家——前段

再讲集合前还需要讲一个数据结构
数据结构
程序=数据结构+算法
数据结构就是讨论数据与数据之间的关系的一门学科
数据结构可以从两个方面讨论:
数据的存储结构:
顺序存储:
优点:查找效率高,由于不存储指针,所以节省空间
缺点:删除插入效率低,由于需要使用下标来标识数据,所以数据量受最大下标值得约束。
链式存储:
优点:删除插入效率高,由于不需要使用下标来标识数据,所以理论上,数据量可以无限存储。
缺点: 查找效率低,由于存储指针,所以相对比较占用空间
数据的逻辑结构
集合结构(没有关系)
线性结构(一前一后)**
树结构(一上多下)*
图结构(多对多)
这就是数据结构,接下才是说集合
集合是一个容器,集合中不能存储基本数据类型,基本数据类型。那我们会想到数组也能存储多个数据,为什么还要学习集合?这个后面再说。
所有的集合都是在Collection(接口)下的。
List(有序集合,线性结构) 有序可重复。(序理成序号)
常用实现类:
ArrayList 底层使用数组实现——顺序储存
查找性能快,插入或删除性能差,容量有上限
集合之家——前段
可以通过下标来获取相应的元素,下标从0开始。
Workera s=list.get(2);
打印:
集合之家——前段
通过下标来删除,下标从0开始。
list.remove(1);
打印:
集合之家——前段
迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。迭代只能对应集合,列表,数组等。不能对执行代码进行迭代。
LinkedList 底层使用链表实现——链式存储
查找性能慢,插入或删除性能好,容量没有上限
集合之家——前段集合之家——前段
ArrayList和LinkedList的差别就是顺序存储和链式存储的差别。
Stack
栈(手枪的弹夹):先进后出
集合之家——前段集合之家——前段
Queue(有序集合)
队列(水管):先进先出

集合之家——前段集合之家——前段
今天的集合就完成了,后面还会讲到Set和Map。