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 ...
随机推荐
- WCF--安全小见解...
由于WCF写的服务需要Ajax来进行调用(这个配置过程也是一个比较咕~~(╯﹏╰)b的经历...), 所以调用的过程都是前台可以看到的,不加点安全措施上去,真的像是一个裸奔在互联网上的接口... 反正 ...
- HTML Table导出为Excel的方法
HTML Table导出为Excel的方法: 直接上源码 <html> <head> <meta http-equiv="Content-Type" ...
- tyvj1614 魔塔魔塔!
描述 百度noip贴吧管理组开发了一个小游戏,叫魔塔魔塔.虽然把魔塔重复了两次,但其实还只是个魔塔而已,还是简化版的.游戏在一个N*M大小的地图中进行,每一格都是正方形.对于某一格,有若干种可能的状态 ...
- ie下获取上传文件全路径
ie下获取上传文件全路径,3.5之后的火狐是没法获取上传文件全路径的 /*获取上传文件路径*/ function getFilePath(obj) { var form = $(this).paren ...
- Mahout 介绍
1.Hbase+k-means (G级别) 2.k-means+mr (T级别) 1. 2.canopy 2.贝叶斯算法 决策,分类,文档分类 3.推荐系统 4.图书推荐系统 1.需求 付完款的用户 ...
- PHP命名空间入门教程
PHP5.3当中就引入了“命名空间”的概念,一直都没怎么关注和使用,其实学习它也挺简单的,看官方的教程就行了: 命名空间概述 定义命名空间 定义子命名空间 在同一个文件中定义多个命名空间 使用命名空间 ...
- Swift2.1 语法指南——可空链式调用
原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...
- 浅析for in 和for的区别
区别一: for in是javascript 1.0 中发布的. for each in是作为E4X标准的一部分在javascript 1.6中发布的,而它不是ECMAScript标准的一部分. 这将 ...
- python解释器快捷键
13. 交互式输入的编辑和历史记录 某些版本的 Python 解释器支持编辑当前的输入行和历史记录,类似于在 Korn shell 和 GNU Bash shell 中看到的功能.这是使用GNU Re ...
- JSON字符串转JavaBean,net.sf.ezmorph.bean.MorphDynaBean cannot be cast to ……
在json字符串转java bean时,一般的对象,可以直接转,如:一个学生类,属性有姓名.年龄等 public class Student implements java.io.Serializab ...