容器、集合、数据结构
数据结构:存储、组织数据的方式
一、经典的数据结构
增删改查
1、线性数据结构
(1)数组
a、增加一个元素,如果在下标位0的位置,原有的元素都需要网后挪
若果在最后的位置加一个元素,其他的元素不动 ,直接在后面加。
如果实在数组中间加,移动后面的元素即可。
b、删除一个元素,如果在下标位0的位置,原有的元素都需要网前挪
若果在最后的位置加一个元素,其他的元素不动,直接在最后删。
如果实在数组中间删,移动后面的元素即可。
c、修改一个元素,给定要修改的索引,直接改就可以,如果没给定,
需要查找,查找复杂度根据不同的查找算法来定。
d、查找一个元素,如果给定一个索引,直接找到,
如果没给定,需要查找,查找复杂度根据不同的查找算法来定。
(2)链表

a、增加一个元素、把前一个元素的地址区域存储新元素的地址,把新元素的地址区域存储后一个元素的地址即可,不用移动任何元素。
b、删除一个元素,把前一个元素的地址区域存储后一个元素的地址,拿掉要去掉的元素。
c、修改一个元素,从表头查找,找到再修改
d、查找一个元素,先从表头查找、一个元素一个元素看

双向列表
队列
先进先出(FIFO)
单向队列

双向队列

栈
先进后出

二、集合
1、集合相对于数组得有点
(1)长度可变
(2)java官方提供了一系列增删改查一系列方法,帮助程序员操作·
(3)add 添加不可跳过没有数据的元素添加
addALL 把其他集合的元素全部添加到本集合里面
Clear 清除所有集合内容
Contains(元素内容)检验集合中是否包含某元素,返回true和false
indexof(元素内容)元素第一次出现的位置
lastindexof 最后一次出现的位置
isEmpty 和 null 的区别 检测集合是不是空的,输出为true
remove 删除根据索引或者内容,(也可以根据索引批量删除)有问题,集合长度缩短1,可以用变量接受,他是有返回值的,形态list.remove();
set(需要修改的索引)替代指定索引的元素。
toAarry 返回成为Object类型的数组
containsALL 检测集合1中有没有集合2中得全部元素
removeALL 删除集合1中得所有集合2中得全部元素
retainALL 求集合一和集合二中得交集
二、List集合有序可重复
序:指存入的顺序和存放的顺序
三、遍历集合
1、普通for
2、增强for
3、Iterable (可迭代的)
Iterator迭代器

四、泛型
![]()
限制了可以往集合中添加元素的类型

五、ArrayList和LinkedList
查询的多,增删少,用ArrayList
查询的少、增删的多、用LinkedList
![]()
可以不断的更改类型
以上写法生动形象的体现了程序员的高瞻远瞩

六、Set无序不可重复
存储的数据没有顺序
七、Set一般用于存放id、账号这类不允许重复的信息
八、哈希表和散列地址


本文详细介绍了经典数据结构如数组和链表的操作方法,并对比了它们的特点。此外,还介绍了集合的基本概念及其相对于数组的优势,包括长度可变、内置操作方法等特性。同时,文章还探讨了List和Set集合的不同应用场景。
5万+

被折叠的 条评论
为什么被折叠?



