一、集合体系结构
Collection(单列集合根接口)
A:List(有序,有索引,可重复)
a:ArrayList(底层数组,查找快,增删慢)
b:LinkedList(底层数组,查找慢,增删快)
c:Vector(底层数组,被ArrayList取代,线程安全,都慢)
B:Set(无序,无索引,不能重复)
a:HashSet
b:LinkedSet
二、常用功能
a:boolean add(Object e): 向集合中添加元素
b:void clear():清空集合中所有元素
c:boolean contains(Object o):判断集合中是否包含某个元素
d:boolean isEmpty():判断集合中的元素是否为空
e:boolean remove(Object o):根据元素的内容来删除某个元素
f:int size():获取集合的长度
g:Object[] toArray():能够将集合转换成数组并把集合中的元素存储到数组中
三、遍历方法
a:转数组
b:普通for,按索引取元素(只针对List及其子类)
c:迭代器 iterator(),可以返回一个迭代器对象,我们可以通过迭代器对象来迭代集合
里面只有三个方法hasnext()判断下个是否有元素,next()取元素,remove()删除当前元素
List增强的又listIterator() 有void add(E e) 增加方法
注意:迭代的时候不能用集合本身的方法增删集合元素,如果要增删用迭代器提供的
d:增强for
格式for(元素类型 变量名 : 集合或者数组),底层迭代器,不能增删集合
四、泛型:<E>
作用
a:避免了类型转换的问题
b:可以减少黄色警告线
c:可以简化我们代码的书写
五、常见数据结构
a:数组 长度固定,采用该结构的集合
查找元素快:通过索引,可以快速访问指定位置的元素
增删元素慢 ,每次添加元素需要移动大量元素或这创建新的数组
b:链表 A:多个节点之间,通过地址进行连接。例如,多个人手拉手,每个人使用自己的右手拉住下个人的左手,依次类推,这样多个人就连在一起了。
B:查找元素慢:想查找某个元素,需要通过连接的节点,依次向后查找指定元素
C:增删元素快:
增加元素:只需要修改连接下个元素的地址即可。
删除元素:只需要修改连接下个元素的地址即可
c:栈 先进后出
d:队列 先进先出
|
|