如何做h5 网站,西安广告公司排名,网红营销李佳琦案例分析,深圳网站建设民治大道20172325 2018-2019-1 《Java程序设计》第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集、组织了其他对象的对象。集合可以分为两大类#xff1a;线性集合和非线性集合。线性集合#xff1a;一种其元素按照直线方式组织的集合。非线性集合#xff1a;一种其元素按某…20172325 2018-2019-1 《Java程序设计》第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集、组织了其他对象的对象。集合可以分为两大类线性集合和非线性集合。线性集合一种其元素按照直线方式组织的集合。非线性集合一种其元素按某种非直线方式组织的集合。集合中元素的彼此之间的组织形式通常由元素添加到集合的次序和元素自身的一些内在关系决定。抽象数据类型ADT是一种在程序设计语言中尚未定义其值和操作的数据结构类型。ADT的抽象性体现在ADT必须对实现细节进行定义且这些对用户是不可见的。Java集合API(应用程序编程接口)一个类集表示了一些特定类型的集合这些类的实现方式各不相同。3.2栈集合 栈STACK是一种线性集合其元素的添加和删除都是在同一端进行的。其遵循后进先出LIFO原则可颠倒顺序。栈的基本操作操作描述 push添加一个元素到栈的顶部 pop从栈的顶部移出一个元素 peek查看栈顶部的元素 isempty确定栈是否为空 size确定栈的元素数目3.3主要的面向对象概念 利用多态引用和继承可以创建可以储存任意类型的对象的集合。多态引用是一个引用变量他可以在不同地点引用不同类型的对象。术语“多态性”可定义为“具有多种形式”。通过多态引用调用的某个方法在每次调用的时候都可以发生变化。继承可用于创建一个类层次一个引用变量可用于指向与之相关的任意对象。继承就是从已有类派生出一个新类的过程。新类自动地含有初始类的部分和全部变量和方法。泛型提供了编译时类型安全检测机制该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型也就是说所操作的数据类型被指定为一个参数。3.4使用栈计算后缀表达式 由栈提供的操作与后缀表达式计算过程有着很好的一致性。使用栈来计算后缀表达式的算法描述如下从左到右扫描表达式依次识别出每个符号操作符或操作数。如果是操作数就将其压入push栈中。若是操作符则从栈中弹出pop两个操作数并把先弹出数放在符号右侧后弹出数放在符号左侧进行计算然后把计算结果压入push到栈中循环往复当进行到表达式的末尾时栈中所剩余的元素便是该表达式的结果。javadoc注释为Java添加注释的官方标准:以/**开始、以 */结束。Javadoc可用于创建关于类集的在线的HTML文档在线的JavaAPI文档就是例子。3.6栈ADT Java接口定义了一个抽象方法集有助于把抽象数据类型的概念与其实现分开。public interface stackADT T3.7用数组实现栈 数组中的单元数量称为容量该值储存在数组的length常量中数组一旦创建好其容量是不能改变的。3.8ArrayStack类 泛型包括泛型数组不能被实例化。所以我们必须创建一个存储Object引用的数组然后把他转换成泛型数组。在将Object数组转换成泛型数组时一定会出现未检验类型转换警告所以加上SuppressWarnings“unchecked”即可。push、pop、peek、isempty、size等方法的具体使用。4.1链接作为引用 对象引用变量可以用来创建链式结构链式结构是一种数据结构对象引用变量存放的是对象的地址表示对象在内存中的存储位置在链表中存储的对象通常泛称为该链表的结点注需要一个单独的引用变量来表示链表的首结点链表终止于其next引用为空的结点4.2管理链表 对于管理链表时进行删除和插入的方式的顺序是很重要的如果不当会将出现某段结点消失的情况 改变引用顺序是维护链表的关键4.3无链接的元素 存储在集合中的对象不应该含有基本数据结构的任何实现细节4.4JavaAPI中的栈 java.util.Stack类是从Vector派生而来的它带给了栈一些不恰当的操作。4.5使用栈来穿越迷宫 这一节是迷宫的类型。说明的是可以用栈来模拟递归处理以跟踪恰当的数据教材学习中的问题和解决过程 问题1在做选择排序和冒泡排序的时候对于冒泡排序法完全没了印象问题1解决方案 冒泡排序 原理比较两个相邻的元素将值大的元素交换至右端。 思路依次比较相邻的两个数将小数放在前面大数放在后面。即在第一趟首先比较第1个和第2个数将小数放前大数放后。然后比较第2个数和第3个数将小数放前大数放后如此继续直至比较最后两个数将小数放前大数放后。重复第一趟步骤直至全部排序完成。 第一趟比较完成后最后一个数一定是数组中最大的一个数所以第二趟比较的时候最后一个数不参与比较 第二趟比较完成后倒数第二个数也一定是数组中第二大的数所以第三趟比较的时候最后两个数不参与比较 依次类推每一趟比较次数-1冒泡排序的思维是最简单的但是代码实现起来并不是很容易。当时用循环来比较的时候就一直要把链表的节点向后推但要用一个中间变量temp来保存前面的数字然后做数字交换最后把遍历的起始节点重指向头结点。由于细节比较或是循环问题速度上体现为插入排序选择排序冒泡排序三种排序的比较其时间复杂度都是On^2。代码调试中的问题和解决过程 问题1在蓝墨云的作业中有个要求是实现删除和插入的操作但是最开始我没有注意到结果就是问题1解决方案听同学说我做的少了很多东西又重新增加了一些代码实现了插入和删除结果是代码托管 上周考试错题总结 理解情况在做这道题的时候我太过于钻牛角尖我认为少了“或费极少的力”于是错了但是现在看来更加深了理解。 理解情况软件工程不是电气工程。 理解情况书上的内容没有认真看书。 理解情况栈的操作是先进后出颠倒了数据的顺序故不能保存顺序。 理解情况当时没有很理解书上关于增长函数的图表后来理解之后发现O2n的函数增长最快。 理解情况根据增长函数的图像可知。结对及互评 博客中值得学习的或问题 在教材和代码问题上很详细同时很会找问题记录问题。代码中值得学习的或问题 代码操作并没有像我一样忘记很多对代码的规范性也更加注意了基于评分标准我给本博客打分9分。20172306其他感悟、思考等可选 这周有了新的学习任务开始慢慢找回原来的感觉但是还是感觉忘了很多东西着实花了不少功夫还有因为学代会的召开耽误的两节课程我会抓紧时间找同学找老师问问题补回来。 学习进度条 代码行数新增/累积博客量新增/累积学习时间新增/累积重要成长目标5000行30篇400小时第一周0/01/120/20第二周941/84812/218/20参考资料 Java学习笔记(第8版)《Java学习笔记(第8版)》学习指导转载于:https://www.cnblogs.com/20172325DYK/p/9671656.html