20145213《Java程序设计》第五周学习总结补充
2016-04-13 08:01
246 查看
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,失败会返回false
poll()方法用来取出队列前端对象,若队列为空,返回null
peek()用来取得(但不取出)队列前端对象,若队列为空,返回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 ```取得值。
相关文章推荐
- [转] 你真的会写单例模式吗——Java实现
- 《java作业》
- Spring配置文件中别名的使用
- javaWeb学习记录:学生信息管理系统
- ie11浏览器访问javaWeb页面 提示 Audio未定义
- [JAVA]String与InputStream互转-20160412
- [Java] 实验7参考代码
- eclipse中build path 中JDK与java compiler compliance level的问题(转)
- Java懒惰匹配
- 20145120 《Java程序设计》实验二实验报告
- java 3DES 加密
- 乱码之一 eclipse console 和 xp console 乱码 全程详解(一)
- Java List 自定义排序
- Java 使用泛型 泛型之间继承关系
- Java 成员变量初始化
- Java 日期操作
- Java 实现获取指定文件夹下的指定格式的所有文件
- Java Serializable,序列化,串行化
- Java 日志
- spring和hibernate下载工具