java菜鸟教程,java菜鸟教程视频

本文目录一览:

小弟跪求好的JAVA网站制作的菜鸟教程and书

哥们我这有很多网站,应该至少有一个适合你的

所属论坛: JAVA论坛

正文内容:

java方面的:

it人资讯交流网

这个网站是我最近才发现的,虽然内容不多,但是提供的相关java工具挺齐全。还有就是里面提供了java教学视频录象的免费下载,好像一两周更换一段。个人觉得挺适合初学者的,尤其是那个classpath的设置,讲的很透彻,大家有空可以看一看。

java官方站点(英文)

要想了解最新的java动态,下载最新的java相关,比如j2se、j2ee、j2se的最新jdk版本就来这里吧。

java中文站

这个可能大家都知道,不用说了,他提供的java资源是最丰富的。注册论坛是免费的,还送积分,用积分可以下载软件和电子书等,如果积分用完了,就需要自己发表一些文章来赚新的积分。

中文java网站

跟上面站点类似的一个站,宗旨就是:为java爱好者服务。值得一看!

锋网

综合性的java网站,内含“下载中心”、“教程教学”等栏目。

java动力

网站的内容可以,但是最为出色的是它所运用的flash技术,我就不在这里多说了,大家去看看就知道了,一个字“酷”!!!

vc方面的:

vc知识库

这个网站就不用多说了,学习vc必去之地。网站专门提供了免费的ftp下载,好东东巨多!

vc之路

综合软件开发网站,以vc为主。“资源中心”有许多值得下载的东东。

visual c++/mfc开发指南

以讲述windows开发为主的站点,提供了最新的源代码,开发工具,开发资料,开发教程和对好的开发站点,开发工具,图书做介绍,同时为从事开发的朋友提供发布自己开发的软件,代码和工具场所。

c维拥?

最近发现的vc好站,书籍、软件、代码下载一应具全!!!

游戏开发:

风云工作室

标点游戏制作

未来开发者

综合的:

中国软件网

中国最大的开发者网络,他之所以著名就是因为他的论坛,大家有空可以去看看,能下到很多不错的东东,另外也是交流学习的好地方。

电子书籍的:

最后公布一个巨好的,狂多的电子书下载

还有巨好的

北大青鸟设计培训:菜鸟怎样才能把Java开发学好?

作为一个Java菜鸟,没有谁不想飞得更高的,但是现状往往是Java菜鸟不怎么能够在短期内飞得高,要飞得高有什么捷径吗?自然是有的,对于一个Java菜鸟来说,如何学Java,才能够成为人生的赢家呢?这就是北大青鸟小编今天要跟你一起讨论的问题,赶紧跟南宁北大青鸟往下看,Java菜鸟如何学Java好呢?Java菜鸟如何学Java好呢?1.很多Java菜鸟,选择学Java的方式,就是买多本Java书籍,书是买了,看没看,是个问题。

看书学Java,这是有用的,这也是肯定的,但是书买得多就真的能够学好Java吗?其实,从大部分的Java菜鸟学习中,已经看出来了,从作用和效率来讲,初期看太多书学Java没多大用处的,书的作用在于让你查缺补漏,真正提升自己,而不是囫囵吞枣。

2.很多Java菜鸟甚至什么是Java都不知道,然后就直接开始了Java的学习,这就是我们时常采取的获取信息的方式,走马观花的学。

走马观花,那么是肯定学不好Java的,这是毋庸置疑的。

作为一个Java菜鸟,学习Java必须有一个系统的学习方案,系统的学习教程,这样才能够确保自己学到的Java效果最佳。

3.Java菜鸟如何学Java好呢?当下对于一个毫无编程经验的Java菜鸟来说,学Java最佳的方式,就是找一个靠谱的Java培训机构,因为自学Java,遭遇重重困难,都得自己一个人默默的解决,关键是很多时候都是无能为力,不知道该从何解决。

而在Java培训机构,有着专业的老师永远是你坚强的后盾。

ArrayDeque

写cs61b题目时惊叹为什么会有这种东西,于是搜索了一番,发现这容器还是很有意思的,于是搬运了一下。

参考: ArrayDeque – (jianshu.com)

Java ArrayDeque – Java教程 – 菜鸟教程 (cainiaojc.com)

在ArrayDeque类实现这两个接口:Java Queue和Java Deque

使用了数组来存储数据,同时用两个int值 head 和 tail 来表示头部和尾部。不过需要注意的是 tail 并不是尾部元素的索引,而是尾部元素的 下一位 ,即下一个将要被加入的元素的索引。

ArrayDeque 有三个构造函数来初始化,除了无参的构造函数使用了默认容量,其它两个构造函数会通过 allocateElements 函数来计算初始容量

数组的大小很特殊,大小必为2的n次方(2^n)。下面我们看看 allocateElements 方法

(1)对于一个小于2^30的值,经过五次右移和位或操作后,可以得到一个 2^k – 1 的值。最后再将这个值 +1 ,得到 2^k 。通过这个方法,可以将一个任意的初始值转化为2^n的值.

(2)不过有一点不足在于,如果本身传进来的值就是 2^n 的值,那么经过转化会变成 2^(n+1) ,所以我们在不用刻意去传入 2^n 的值。

(3)如果传入的值大于等于 2^30 ,那么经过转化会变成负值,即 0,此时会把初始值设置为 2^30 ,即最大的容量只有 2^30

在ArrayDeque中,数组是作为环形来使用的,正常情况下在末尾添加元素后,tail=tail+1是要判断是否越界,如果越界,会变为从索引0开始。参考如下图片,当H添加到索引7后,tail值会+1,此时tail=8,但是越界了,所以应该将tail设置为0。

我们看看 tail = (tail + 1) (elements.length – 1) 的正确性:

所以当 tail+1 = length – 1 ,此时数组并没有越界, (tail + 1) (elements.length – 1) 后得到的还是 tail+1 。如果 tail + 1 = length ,此时数组越界了, (tail + 1) (elements.length – 1) 后得到0。

所以通过 (tail + 1) (elements.length – 1) 可以跳过条件判断在环形数组中获取正确的索引值,然后再判断新的 tail 是否等于 head ,如果结果为 true ,那么数组已经满了,需要扩容,即 doubleCapacity() 。

原理和addLast相同

无论是从头部还是从尾部添加元素,都会判断 tail==head ,如果两个索引相遇,说明数组空间已满,需要扩容操作.

ArrayDeque支持从头尾两端移除元素

在上文中,我们讲了怎么去实现一个ArrayDeque,但Java标准库中已经为我们准备好了,我们只需按规则使用就行

add() – 将指定的元素插入ArrayDeque双端队列的 末尾

addFirst() -在ArrayDeque双端队列的 开头 ,插入指定的元素

addLast() – 在ArrayDeque双端队列的 末尾 插入指定的内容(等效于 add() )

注意:如果ArrayDeque双端队列已满,则所有这些方法 add() , addFirst() 和 addLast() 都会引发IllegalStateException

offer() – 将指定的元素插入ArrayDeque双端队列的 末尾

offerFirst() – 在ArrayDeque双端队列的 开始处 插入指定的元素

offerLast() – 将指定的元素插入ArrayDeque双端队列的 末尾

注意: offer(),offerFirst()并offerLast()返回true是否成功插入元素;否则,返回。如果ArrayDeque双端队列已满,则这些方法返回false。

getFirst() – 返回ArrayDeque双端队列的 第一个元素

getLast() – 返回ArrayDeque双端队列的 最后一个元素

注:如果ArrayDeque双端队列为空,getFirst()和getLast()抛出NoSuchElementException。

peek() – 返回ArrayDeque双端队列的 第一个 元素

peekFirst() – 返回ArrayDeque双端队列的 第一个 元素(等效于 peek() )

peekLast() – 返回ArrayDeque双端队列的 最后一个 元素

注:如果ArrayDeque双端队列为空,peek(),peekFirst()和getLast()抛出 NoSuchElementException

remove() – 返回并从ArrayDeque双端队列的 第一个 元素中删除一个元素

remove(element) – 返回并从ArrayDeque双端队列的 头部 删除指定的元素

removeFirst() – 返回并从ArrayDeque双端队列中删除 第一个 元素(等效于remove())

removeLast() – 返回并从ArrayDeque双端队列中删除 最后一个元素

注意:如果数组双端队列为空,则remove(),removeFirst()和removeLast()方法将引发异常。 另外,如果找不到元素,则remove(element)会引发异常。

poll() – 返回并删除ArrayDeque双端队列的 第一个 元素

pollFirst() – 返回并删除ArrayDeque双端队列的 第一个 元素(等效于poll())

pollLast() – 返回并删除ArrayDeque双端队列的 最后一个 元素

注意:如果ArrayDeque双端队列为空,则如果找不到该元素,则poll(),pollFirst()和pollLast()返回null。

删除所有元素

iterator() – 返回可用于遍历ArrayDeque双端队列的 迭代器

descendingIterator() -返回一个迭代器,该迭代器可用于以 相反顺序 遍历ArrayDeque双端队列

注:为了使用这些方法,我们必须导入java.util.Iterator包。

使用迭代器的方法如下

element() -从ArrayDeque双端队列的头部返回一个元素。

contains(element) -在ArrayDeque双端队列中搜索指定的元素。如果找到该元素,则返回true,否则返回false。

size() -返回ArrayDeque双端队列的长度。

toArray() -将ArrayDeque双端队列转换为数组并返回。

clone() -创建ArrayDeque双端队列的副本并返回它。

push() – 在堆栈顶部添加一个元素

peek() – 从堆栈顶部返回一个元素

pop() – 返回并从堆栈顶部删除元素

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/232145.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-11 12:50
下一篇 2024-12-11 12:50

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • MQTT使用教程

    MQTT是一种轻量级的消息传输协议,适用于物联网领域中的设备与云端、设备与设备之间的数据传输。本文将介绍使用MQTT实现设备与云端数据传输的方法和注意事项。 一、准备工作 在使用M…

    编程 2025-04-29
  • Python3.6.5下载安装教程

    Python是一种面向对象、解释型计算机程序语言。它是一门动态语言,因为它不会对程序员提前声明变量类型,而是在变量第一次赋值时自动识别该变量的类型。 Python3.6.5是Pyt…

    编程 2025-04-29
  • Deepin系统分区设置教程

    本教程将会详细介绍Deepin系统如何进行分区设置,分享多种方式让您了解如何规划您的硬盘。 一、分区的基本知识 在进行Deepin系统分区设置之前,我们需要了解一些基本分区概念。 …

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29

发表回复

登录后才能评论