201621123040《Java程序设计》第八周学习总结
1.本周学习总结

2.书面作业
2.1ArrayList代码分析
2.1.1解释ArrayList的contains源代码
ArrayList.contain()方法通过调用indexOf()来判断元素位置从而确定其是否存在其中;与此同时通过调用equals()方法处理对象不为null的情形

2.1.2解释E remove(int index)源代码
E remove(int index)将表中第index位置元素删除


2.1.3结合1.1与1.2,回答ArrayList存储数据时需要考虑元素的具体类型吗?
- 不用考虑,ArrayList存储的数据为引用类型,并且ArrayList存储数据实际上用的是Object的数组,Object类是所有类的默认父类;如果有实现限制数据类型的话,要按照数据类型进行存储数据


2.1.4分析add源代码,回答当内部数组容量不够时,怎么办?
- add方法首先判断加入的元素是否超过数组容量;若超过,则扩大其数组容量
ensureCapacity(size+1)



2.1.5分析private void rangeCheck(int index)源代码,为什么该方法应该声明为private而不声明为public?
private私有化,内容不被外界任意修改;rangeCheck方法用来判断给定的索引是否越界,外部不必访问

2.2HashSet原理
2.2.1将元素加入HashSet(散列集)中,其存储位置如何确定?需要调用那些方法?
- HashSet类按照哈希算法来存取对象。当向集合中加入一个新对象时,会调用对象的hashCode()方法得到对象的哈希码,然后根据这个哈希码计算出对象在集合中的存储位置;HashSet对象中不能存储相同数据(调用equals()),存储数据是无序的
2.2.2将元素加入HashSet中的时间复杂度是多少?是O(n)吗?(n为HashSet中已有元素个数)
- 将元素加入HashSet中的时间复杂度不是O(n),是O(1);因为HashSet存储的数据是无序,且无需遍历,通过哈希码计算出对象在集合中的存储位置
2.3ArrayListIntegerStack
2.3.1比较自己写的ArrayListIntegerStack与自己在题集jmu-Java-04-面向对象2-进阶-多态、接口与内部类中的题目自定义接口ArrayIntegerStack,有什么不同?(不要出现大段代码)
- 本次ArrayListIntegerStack代码使用
ArrayList<Integer>()存放对象,使用list的list.add()list.remove()list.isEmpty()实现 push、pop、peek、empty方法;上次则定义指针top=-1实现各种方法


2.3.2结合该题简单描述接口的好处,需以3.1为例详细说明,不可泛泛而谈
- 使用
IntegerStack接口,仅需构造一个类实现其接口,进而重写方法即可,使代码更加灵活简洁,也便于修改和维护

2.4 Stack and Queue
2.4.1编写函数判断一个给定字符串是否是回文,一定要使用栈(请利用Java集合中已有的类),但不能使用java的Stack类(具体原因自己搜索)与数组。请粘贴你的代码,类名为Main你的学号


2.4.2题集jmu-Java-05-集合之银行业务队列简单模拟(只粘贴关键代码)。请务必使用Queue接口,并说明你使用了Queue接口的哪一个实现类?

- 通过老师实验课上点拨,使用LinkedList类(按格式输出,不能顺手直接使用
System.out.println())

2.5统计文字中的单词数量并按单词的字母顺序排序后输出
2.5.1实验总结
- 实现按单词首字母的顺序输出,使用
TreeSet()(互异性,不出现重复单词;并按首字母顺序排序)可实现;遇到"!!!!!" break跳出if()语句,反之添加单词;如何实现输出前10个(按字母顺序)单词,在课上通过老师的点拨--使用foreach并限制其范围(起初想的是用if(word.size()<=10)但苦于无果)

3.码云及PTA
3.1码云代码提交记录

3.2截图PTA题集完成情况图



3.3统计本周完成的代码量
| 周次 | 总代码量 | 新增代码量 | 总文件数 | 新增文件数 | |||||
|---|---|---|---|---|---|---|---|---|---|
| 第一周 | 189 | 189 | 10 | 10 | |||||
| 第二周 | 304 | 304 | 9 | 9 | |||||
| 第三周 | 557 | 557 | 10 | 10 | |||||
| 第四周 | 621 | 621 | 8 | 8 | |||||
| 第五周 | 326 | 326 | 7 | 7 | |||||
| 第六周 | 972 | 972 | 12 | 12 | |||||
| 第七周 | 338 | 338 | 4 | 4 | |||||
| 第八周 | 379 | 379 | 6 | 6 |
201621123040《Java程序设计》第八周学习总结的更多相关文章
- 201521123027 <java程序设计>第八周学习总结
1.本周学习总结 1.1思维导图 2.书面作业 Q1.List中指定元素的删除(题目4-1) 1.1 实验总结 总结:判断List中是否存在指定元素,需要用到equals方法,若存在就用remove进 ...
- 201571030332 扎西平措 《面向对象程序设计Java》第八周学习总结
<面向对象程序设计Java>第八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https: ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第八周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第八周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
- 20175317 《Java程序设计》第九周学习总结
20175317 <Java程序设计>第九周学习总结 学前准备 首先下载XAMPP,下载完成后打开: 将前两个选项打开 在IDEA中配置驱动mysql-connector-java-5.1 ...
随机推荐
- xml文件的规则
一,规则 1.1,样本 <?xml version="1.0" encoding="utf-8"?> <contactList> < ...
- Eclipse去除网上复制下来的来代码带有的行号
一.正则表达式去除代码行号 作为开发人员,我们经常从网上复制一些代码,有些时候复制的代码前面是带有行号,如: MyEclipse本身自带有查找替换功能,并且支持正则表达式替换,使用正则替换就可以很容易 ...
- CSS3动画效果示例
CSS3动画遵循@kwyframes规则,规定了动画的名称.时长. 1.示例代码 <!DOCTYPE html><html lang="en"><he ...
- HTTP的长连接,你不知道的连接。。。
长连接起源 什么样的连接才能称之为长连接?要多长.... http是一种无状态的协议,也就是stateless协议,而http协议又是建立在tcp/ip协议的基础之上的. 无状态表示每次请求都是一次独 ...
- FFT [TPLY]
FFT [TPLY] 题目链接 https://www.luogu.org/problemnew/show/1919 https://www.luogu.org/problemnew/show/380 ...
- AC自动机模板3【洛谷3796】
AC自动机的第三个模板 其实,个人觉得,目前我写的这三个不同的模板完全是可以合并在一起求解的. 只是,在这两个无关联的OJ上,同一个AC自动机都可以完成的问题被拆成了三道题而已. 因此,代码只需要略加 ...
- [UOJ207]共价大爷游长沙
UOJ sol 这题真是太神啦! 对于S集合中的每个点对,给他们随机附上一个相同权值. 两个点在边(x,y)的两侧当且仅当一个点在x的子树中,另一个点不在x的子树中(假设x是y的儿子) 维护一下子树点 ...
- Poj3678:Katu Puzzle
大概题意 有\(n\)个数,可以为\(0/1\),给\(m\)个条件,表示某两个数经过\(or, and, xor\)后的数是多少 判断是否有解 Sol \(2-SAT\)判定 建图 # includ ...
- 好用的sitemap生成器—GY SiteMap
好用的sitemap生成器-GY SiteMap 下载地址:http://www.wyxxw.cn/download-detail-6-8-14.html 网站地图可以更好的帮助搜索引擎抓取.收录网站 ...
- 前端综合学习笔记---异步、ES6/7、Module、Promise同步 vs 异步
同步 vs 异步 先看下面的 demo,根据程序阅读起来表达的意思,应该是先打印100,1秒钟之后打印200,最后打印300.但是实际运行根本不是那么回事 console.log(100) setTi ...