Java集合框架读书笔记(三)

ArrayDeque
Java里有一个叫Stack栈的类,却没有叫Queue的类(它是一个接口的名字)。当需要使用栈时,Java已经不推荐用Stack,而是使用更加高效的ArrayDeque,如果使用队列,当然也是ArrayDeque。

Deque是双端队列,可以当做栈使用,也可以当做队列使用。
队列的相关接口:
在这里插入图片描述
与Stack栈相关的接口
在这里插入图片描述

从名字就可以看出来ArrayDeque底层通过数组实现。为了满足可以同时在数组两端插入或删除元素的需求,该数组必须是循环的。
在这里插入图片描述
head指向首端第一个有效元素,tail指向尾端第一个可以插入元素的空位。因为是循环数组,所以head不一定总等于0,tail也不一定总比head大。

addFirst方法
在这里插入图片描述
空间问题是在插入之后解决的,因为tail总是指向下一个可以插入的空位,也就意味着elements数组至少有一个空位,所以这时不用考虑空位问题。

addLast方法
addLast(E e)的作用是在Deque的尾端插入元素,也就是在tail位置插入,由于tail总是指向下一个可以插入的空位,因此只需要elements[tail] = e即可
在这里插入图片描述

pollFirst()
作用是删除并返回Deque首端元素,即时head位置处的元素,如果容器不为空,直接范围elements[head].
在这里插入图片描述

pollLast()
作用是删除并返回Deque尾端元素,也就是tail位置前面那个元素。
在这里插入图片描述

peekFirst()
作用是返回但不删除Deque首端元素,直接返回elements[head]即可。

peekLast()
作用是返回但不删除Deque队尾元素。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java SSM(Spring+SpringMVC+MyBatis)是一种基于Java语言的Web开发框架。学习这个框架的过程中,我深刻体会到它的强大和灵活性。 首先,Spring框架为开发者提供了一个强大的IOC(Inversion of Control)容器,它能够管理和注入对象,减少了代码之间的耦合性。通过配置文件或注解,我们可以轻松地定义和获取各种对象,提高了代码的可维护性和可扩展性。 其次,SpringMVC框架是一种MVC(Model-View-Controller)设计模式的实现,它用于处理Web请求和响应。通过配置一个请求映射表和处理器,我们可以将请求分发给相应的控制器进行处理,并将处理结果返回给客户端。SpringMVC还提供了一些便捷的注解和标签,用于简化页面的渲染和参数的绑定。 最后,MyBatis是一种优秀的持久化框架,它能够将数据库操作与Java对象之间的映射简化为简单的配置。通过编写SQL映射文件和定义POJO(Plain Old Java Object)类,我们可以方便地进行数据库的增删改查操作,而无需编写冗长的SQL语句。 在学习Java SSM框架的过程中,我深入理解了软件开发过程中的MVC思想,并学会了如何利用Spring、SpringMVC和MyBatis来实现一个完整的Web应用程序。通过不断的实践和调试,我逐渐培养了自己解决问题和调试代码的能力。 总结起来,学习Java SSM框架使我深入理解了软件开发的各个环节,并提升了我的编码能力和开发效率。我相信这些知识和经验将对我的职业发展和项目实施起到积极的促进作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值