20145213《Java程序设计》第五周学习总结补充
20145213《Java程序设计》第五周学习总结补充
教材学习内容总结
欠的账都是要还的!第九章的内容躲过对酒当歌的夜,躲不过四下无人的街。由于第五周贪玩,疏忽冷落了Collection与Map,那么现在我就来温习一下吧!
- 认识Collection架构
- 针对收集对象的需求,Java SE提供了Collection API。
Collection包含了收集对象的共同行为,然而收集对象会有不同的需求。 - 利用
java.util.List接口可以在收集对象时记录每个对象的索引顺序,并可依索引取回对象。 - 利用
java.util.Set接口可以使收集的对象不重复,具有集合行为。 - 利用
java.util.Queue接口可以在收集对象时以队列方式,收集的对象加入至尾端,取得对象时从前端。如果希望对Queue的两端进行加入,移除等操作时,
则可以使用java.util.Deque java.util.List含有两个子类ArrayList与LinkedList。ArrayList使用数组保存收集的对象,数组在内存中会是连续的线性空间,根据索引随机存取时速度快,像是排序,使用ArrayList会有较好的速度表现。LinkedList在操作接口时,采用链接结构,若收集的对象经常有变动索引的情况,采用LinkedList会有较高效率java.util.Set ``````有两个子类,分别是HashSet与TreeSet.java.util.Set接口利用对象的hashCode()与equals() ```判断收集的对象是否不重复Queue继承自Collection,所以也具有add(),remove,element()等方法,然而Queue定义了自己的offer(),poll,peek等方法,最主要差别是add(),remove,element()等方法操作失败时会抛出异常,而offer(),poll,peek等方法操作失败时会返回特定的值。offer()方法用来在队列后端加入对象,成功会返回True,失败会返回falsepoll()方法用来取出队列前端对象,若队列为空,返回nullpeek()用来取得(但不取出)队列前端对象,若队列为空,返回null- 无论
List,Set还是Queue都会有个iterator()方法,iterator()方法会返回java.util.Iterator操作对象,可以让你注意取得收集的对象。 - 接口只有一个方法必须操作时,在JDK8中可以使用
Lambda,细节是如果在Lambda表达式中使用区块是,如果方法必须返回值,在区块中必需使用return,如果没使用区块,return省略 java.util.Collections提供sort方法,由于必须有索引才能进行排序,因此sort方法接受List操作对象。java.util.Collections的sort方法要求被排序的对象必须操作java.lang.Comparable接口。但你的对象无法操作java.lang.Comparable时,java.util.Collections的sort方法有另一个重载版本,可接受java.util.Comparator接口操作的对象,如果使用这个版本,排序方式将根据Comparator的compare定义决定。
- 常用Map操作类
- 常用的
Map操作类为java.util.HashMap与java.util.TreeMap ````.在HashMap中建立键值对应之后,键是无序的。在TreeMap中建立键值,键是有序的。值得注意的是作为键的对象,必须操作Comparable,或者在创建时指定操作Comparator ```接口的对象 - 如果想取得
Map中所有的键,可以调用Map的keyset()返回Set对象。 - 如果想取得
Map中所有的值,可以使用Value返回Collection对象。 - 如果想同时取得
Map中所有的键与值,可以使用entrySet()方法,这会返回一个Set对象,每个元素都是Map.Entry的实例,可以调用getKey()取得键,调用getValue ```取得值。
20145213《Java程序设计》第五周学习总结补充的更多相关文章
- 201521123025<java程序设计>第五周学习总结
1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...
- Java程序设计第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 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 ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
随机推荐
- 用MVC的辅助方法自定义了两个控件:“可编辑的下拉框控件”和“文本框日历控件”
接触MVC也没多长时间,一开始学的时候绝得MVC结构比较清晰.后来入了门具体操作下来感觉MVC控件怎么这么少还不可以像ASP.net form那样拖拽.这样设计界面来,想我种以前没学过JS,Jquer ...
- PHP如何释放内存之unset销毁变量并释放内存详解
PHP的unset()函数用来清除.销毁变量,不用的变量,我们可以用unset()将它销毁.但是某些时候,用unset()却无法达到销毁变量占用的内存!我们先看一个例子: <?php $s = ...
- C++ 模拟虚拟键盘按键表
键盘VK键值列表 /* Virtual Keys, Standard Set*/ VK_LBUTTON 0x01 VK_RBU ...
- mysql-mysql悲观锁和乐观锁
1.mysql的四种事务隔离级别 I. 对于同时运行多个事务,当这些事务访问数据库中的相同数据时,如果没有采取必要的隔离机制,就会导致各种并发问题. (1)脏读: 对于两个事物 T1, T2, T1 ...
- maven之helloworld案例
1.maven目录结构 src -main -java -package -test -java -package -resources 2.新建目录 在任意指定盘下建文件夹(我的是D盘,目录结构如下 ...
- windows和linux文件共享
###Samba安装 [root@samba ~]# yum install -y samba* [root@samba ~]# rpm -qa | grep samba ###开启s ...
- cocos2d界面渲染
渲染是visit函数来做的, visit是先将不可见的节点和他所有的子节点都跳过, 然后再看节点的子节点是否为空, 如果为空的话直接看这个节点是否在摄像机可见范围之内, 如果在就渲染这个节点, 否则什 ...
- oracle with as 用法
http://blog.itpub.net/28371090/viewspace-1190141/
- putty如何使用
使用putty连接管理centos 1 双击putty.exe2 和linux命令行一样了 使用psftp上传和下载 cd d:/psftppsftp open 10.0.0.9 输入用户密码root ...
- C语言的执行
在ANSIC 的任何一种实现中,有两种不同的环境 翻译环境:将源代码转换为可执行的机器代码 执行环境:用于执行代码 这两种环境可以运行于同一个机器上,也可以运行于不同的机器上 例如交叉编译器:在一台机 ...