Collection集合及其相关知识点

1、集合架构

在这里插入图片描述

2、Collection集合均可用迭代器遍历(只能遍历,不能增删)

(1)、迭代的概念
  Collection集合元素通用的获取方法:在获取元素之前, 先判断 集合中有没有元素;如果有,就将这个元素 取出来再继续判断 ,如果还有,就继续取出来、再判断;一直到集合中的所有元素都 全部取出来 。这种方式就是迭代
(2)、Iterator迭代器的使用
注意: Iterator接口,我们 无法直接 使用;需要使用Iterator接口的实现类;
  使用步骤: (分为3步)
    1)、使用 Collection集合 中的 iterator方法 来获取迭代器的实现对象,使用 Iterator接口 进行接收(多态)
    2)、使用 Iterator接口 中的 hasNext()方法 ,来判断还有没有元素
    3)、使用 Iterator接口 中的 next()方法 ,来取出集合中的元素
(3)、增强 for循环
注意: 增强 for 循环是 java1.5 之后推出的一种特殊的迭代器
  主要用来遍历数组和集合

3、泛型通配符

注意: 泛型是没有继承的概念的
(1)、泛型通配符:? ——> 表示任意的数据类型
(2)、使用方法:****只能作为方法的参数进行传递;不能创建对象时使用
(3)、泛型通配符的上限与下限:
  上限限定:? extends E:表示使用的泛型只能是 E类型的子类 或 E类型 本身
  下限限定:? super E:表示使用的泛型只能是 E类型的父类 或 E类型 本身

4、数据结构类型(5种)

(1)、栈结构: 入口和出口是同一个,造成了压栈的形式;所以是先进后出;类似于子弹夹
(2)、队列结构: 入口和出口相对称,造成了排队的形式;所以是先进先出;类似于排队安检
(3)、数组结构: 数组长度一旦定义就是固定的;数组的地址是连续的,可以根据首地址找到数组。所以数组结构:查询快,增删慢;增删时需要反复的创建数组、销毁数组;所以效率低下
(4)、链表结构: 链表长度不是固定的,每次增删时对于其它元素并没有影响;链表的地址并不是连续的,每次查找都要从头开始;所以链表结构:查询慢,增删快
  链表可分为 两类 :(链表中的元素又称为节点)
    单向链表:只有一条链子,无法保证顺序
    双向链表:有两条链子,可以保证顺序
  链表的 节点结构
在这里插入图片描述
(5)、红黑树结构:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41970025/article/details/88867349
今日推荐