集合体系结构

这篇具有很好参考价值的文章主要介绍了集合体系结构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

集合体系结构

  • List系列集合:添加的元素有序,可重复,有索引

  • Collection:是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的

  • set系列集合:添加的元素无序,不重复,无索引

 

方法名 说明
public boolean add(E e) 把给定的对象添加到当前集合中
public void clear() 清空集合中所有的元素
public boolean remove(E e) 把给定对象在当前集合中删除
public contains(Object obj) 判断当前集合中是否包含给定对象
public boolean isEmpty() 判断当前集合是否为空
public int size() 返回集合中元素的个数/集合长度

Collection遍历

迭代器遍历

迭代器在java中的类是iterator,迭代器是集合专用的遍历方式

 

Collection集合获取迭代器

Iterator< E > iterator() 返回迭代器对象,默认指向当前集合的0索引

Iterator中的常用方法

方法 说明
boolean hasNest() 判断当前位置是否有元素,有元素返回true,没有返回false
E next() 获取当前位置的元素,并将迭代器对象移向下一个位置

 

  1. 迭代器遍历完毕,指针不会复位

  2. 循环中只能用一次next方法

  3. 迭代器遍历时,不能用集合的方法,进行增加或删除

  4. 如果当前位置没有元素,还要强行获取,会报NosuchElementException

 

增强for遍历

  1. 增强for的底层就是迭代器,为了简化迭代器的代码书写的

  2. 它是JDK5之后出现的,其内部原理是一个lterator迭代器

  3. 所有的单列集合和数组才能用增强for遍历

 

格式:

for(元素的数据类型 变量名: 数组或集合 ){

}

 

for(String s : list){

}

s就是一个第三方变量,在循环过程中 以此表示集合中的每一个数据

 

Lambda表达式遍历

default void forEach(consumer<? super T > action):

List集合

List集合的特有方法

Collection的方法List都继承了

List集合因为有索引,所以多了很多索引的操作方法

方法 说明
viod add(int index,E element) 在指定位置插入指定元素
E remove(int index) 删除指定索引的元素,返回被删除的元素
E set(int index,E element) 修改指定索引的元素,返回被修改的元素
E get(int index) 返回指定元素

List集合的遍历方式

  1. 迭代器:遍历过程中需要删除元素

  2. 列表迭代器:遍历过程中需要添加元素

  3. 增强for(仅仅想遍历)

  4. Lambda(仅仅想遍历)

  5. 普通for:遍历时想操作索引

数据结构

计算机底部储存,组织数据方式

栈:后进后出,先进先出

数据进入栈模型的过程称为:压/进栈

数据离开栈模型的过程称为:弹/出栈

队列:先进先出,后进后出

数组:

  1. 查询速度快:查询数据通过地址值和索引定位,查询任意数据耗时相同(元素在内存中是连续储存的)

  2. 删除效率低:要将原始数据删除,同时后面每个数据前移

  3. 添加效率低:添加位置后的每个数据后移,再添加元素

链表

链表中的节点是独立的对象,在内存中是不连续的,每个结点包含数据值和下一个结点的地址

链表查询数据慢,无论查询哪个数据都要从头开始找

链表增删相对快

LinkedList集合:双链表,查询慢,首尾操作极快。

 

泛型深入

泛型是JDK5引入的特性,可以在编译阶段约束操作的数据类型并进行检查

泛型的格式:<数据类型>

注意:反省只能支持引用数据类型

好处:
  1. 统一数据类型

  2. 把运行时期的问题提前到了编译时期,避免了强制类型转换可能出现的异常,因为在编译阶段类型就能确定下来

 

细节:
  1. 泛型中不能写基本数据类型

  2. 指定泛型的具体类型后,传递数据时,可以传入该类型或子类类型

  3. 如果不写泛型,类型默认是Object

 

方法中形参类型不确定时
  1. 可以使用类名后面定义的泛型< E > 所有方法可用

  2. 可以在方法中申明上定义自己的泛型< E >只有本方法可用

泛型接口的使用方式:
  1. 实现类给出具体的类型

  2. 实现类延续泛型,创建实现类对象时再确定类型

泛型的通配符

反省不具备继承性,但数据具备继承性

?表示不确定类型

? extends E:表示可以传递E或者E的所有子类类型

? super E :可以传递E或E所有父类类型

应有场景

  1. 如果我们在定义类,方法,接口的时候,如果类型无法确定,就可以定义泛型类,泛型方法,泛型接口

  2. 如果类型不确定,但是能知道以后只能传递某个继承体系中的,就可以用泛型的通配符文章来源地址https://www.toymoban.com/news/detail-488323.html

到了这里,关于集合体系结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【软件设计师暴击考点】计算机组成原理与体系结构高频考点暴击系列【一】

    【软件设计师暴击考点】计算机组成原理与体系结构高频考点暴击系列【一】

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : 软件设计师考点暴击 下午题 ⭐【软件设计师暴击考点】下午题高频考点暴击系列 上午题目录 进入专栏浏览:

    2024年02月10日
    浏览(14)
  • 软件设计模式与体系结构-软件体系-层次软件体系结构

    软件设计模式与体系结构-软件体系-层次软件体系结构

    层次之间存在接口, 通过接口形成call/return的关系 ,上层是下层的客户端 层次系统的基本构件: 各层次内部包含的构件 连接件: 层间的交互协议 拓扑结构: 分层 拓扑约束: 对相邻层间交互的约束 层次软件体系结构(Layered Software Architecture)是一种常见的软件设计模式,

    2024年02月13日
    浏览(48)
  • OSI体系结构和TCP/IP体系结构

    OSI体系结构和TCP/IP体系结构

     在第一章( 计网第一章 )的时候,曾经提到过OSI体系结构和TCP/IP体系结构,并对它们进行了简单的对比。这篇博客在其基础上进行更深层次的理解。 计算机网络在逻辑功能上可以分为通信子网和资源子网两部分。 事实上,OSI将低三层称为通信子网,即为了联网而附加的通

    2024年02月07日
    浏览(47)
  • 【体系结构】山东大学计算机体系结构知识点清单

    【体系结构】山东大学计算机体系结构知识点清单

    涵盖所有考点,复习绝对高效,点赞+留邮箱获取pdf版本 1. 计算机系统的层次结构 语言实现的两种基本技术: 翻译:先把 N+1 级程序全部转换成 N 级程序后,再去执行新产生的 N 级程序,在执行过程中 N+1 级程序不再被访问。 解释:每当一条 N+1 级指令被译码后,就直接去执

    2024年02月11日
    浏览(70)
  • 计算机网络七层体系结构(OSI七层结构)、TCP/IP四层模型、网络五层体系结构

    计算机网络七层体系结构(OSI七层结构)、TCP/IP四层模型、网络五层体系结构

    计算机网络七层体系结构(OSI七层结构)、TCP/IP四层模型、网络五层体系结构 七层体系结构(OSI七层结构) :为了使全世界不同体系结构的计算机能够互联,国际化标准组织ISO提出开放系统互联基本参考模型,简称OSI,即所谓的7层协议体系结构。 TCP/IP四层模型 :是由实际

    2024年02月06日
    浏览(49)
  • 计算机网络——计算机网络体系结构(2/4)-分层的必要性(五层协议原理体系结构)

    计算机网络——计算机网络体系结构(2/4)-分层的必要性(五层协议原理体系结构)

    目录 物理层 数据链路层 网络层 运输层 应用层 计算机网络是个非常复杂的系统。 早在最初的ARPANET设计时就提出了分层的设计理念。 \\\"分层\\\"可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。 下面,我们以五层原理结构体系

    2024年02月07日
    浏览(15)
  • 冯诺依曼体系结构

    冯诺依曼体系结构

    冯·诺依曼体系结构(von Neumann architecture)是现代计算机体系结构的基础,也是目前广泛应用的计算机体系结构之一。它是由物理学家、数学家冯·诺依曼在1945年提出的,被认为是现代计算机的奠基之作。冯·诺依曼体系结构具有存储程序和通用性的特点,这意味着计算机的指

    2023年04月23日
    浏览(11)
  • 计算机体系结构

    计算机体系结构

    目录 第一章 基本概念 1.虚拟计算机 2.计算机系统结构的定义 3.佛林(Flynn)分类法 4.Amdahl定律 5.CPU性能公式 6.程序访问的局部性原理 第二章 指令系统 1.数据表示与数据类型 2.浮点数的表示方式 3.编址方式 4.寻址方式 5.指令系统的优化设计  6.Huffman编码法 7.拓展编码 8.两种方

    2024年02月06日
    浏览(16)
  • 了解 PostgreSQL 体系结构

    PostgreSQL 是客户端/服务器关系数据库管理系统 (RDMS)。 PostgreSQL 还支持各种扩展插件,例如 Azure Database for PostgreSQL 超大规模 Citus 选项中的 Citus 扩展插件。 将扩展插件加载到数据库中后,它将像任何内置功能一样正常运行。 PostgreSQL 也有自己的查询语言,称为 pgsql。 此外,

    2024年02月16日
    浏览(11)
  • JVM 体系结构

    JVM 体系结构

    JVM: 跨平台语言 需要不同语言由自己编译器,生成符合 JSR-292 JVM规范的字节码文件,即可在 Java 虚拟机中运行  多语言混合编程: Java 平台上的多语言混合编程正成为主流,通过特定领域的语言去解决特定领域的问题是当前软件开发应对日趋复杂的项目需求的一个方向 每个应

    2024年02月03日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包