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 ...
随机推荐
- 基于iSCSI的SQL Server 2012群集测试(四)--模拟群集故障转移
6.模拟群集故障转移 6.1 模拟手动故障转移(1+1) 模拟手动故障转移的目的有以下几点: 测试群集是否能正常故障转移 测试修改端口是否能同步到备节点 测试禁用full-text和Browser服务 ...
- STM32 之 NVIC(中断向量、优先级) 简述
一.背景 需要使用STM32的CAN进行通信,经过一系列配置后,已可正常收发,还剩下一个CAN通信的错误处理.可错 误中断使能寄存器已经配置使能了,出错后就是无法进入"CAN1_SCE_IR ...
- 【转】(笔记)CANopen协议【CANFestival】移植方法
一.背景 CAN组网就必须得要应用层协议,原因就在于 * 便于网络管理与控制 * 确认数据的收发 * 发送大于8个字节的数据块(CAN每帧数据传输大小为8字节) * 为不同节点分配不同的报文标识符 * ...
- hibernate中get,load,list,iterate的用法及比较
首先,get和load都是查询单个对象,而list和iterate为批量查询 注意以下写法仅针对hibernate3的语法. 使用案例如下: // 1. get和load 的用法 Person p = ...
- js文字滚动
<style type="text/css"> #gongao{width:1000px;height:30px;overflow:hidden;line-hei ...
- CentOS启用sudo,禁用root远程登录
CentOS默认不启用sudo,且可以直接用超级管理员身份登录服务器.ubuntu这方面做得比较好,为了安全,减小误操作带来的损失,还是推荐启用sudo. 1.添加sudo用户 执行 visudo 命 ...
- data_quick 进度
20131118 加入xml对L8卫星波段控制: 纠正波段顺序 QVProc20131125.7z: 完成L8的增强 以后的程序会添加ZY3号解析模块 QVProc20131126.7z: 新增 粗 ...
- 外国类似stackoverflow这样的网站访问慢怎么解决-遁地龙卷风
第二版 百度搜索蓝灯 下载桌面版 双击运行 如果打开的浏览器不是你想要的 拷贝地址栏地址给你想要的浏览器 一切就ok了!!!!! 建议不访问国外网站时,便将蓝灯关掉,否则在访问一些不开蓝灯能够正常访问 ...
- MySQL的InnoDB索引原理详解 (转)
摘要: 本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节. InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档).本着高效学习的目的,本 ...
- 剑指Offer 两个链表的第一个公共结点
题目描述 输入两个链表,找出它们的第一个公共结点. 思路: 题目说的很笼统,应该是有2个链表,找出公共点,第一个公共点后面的链表是共同所有的.可以用map做,直接检测map里有没有出现这个节点. ...