Guava快速进阶培训教材



《Guava快速进阶培训教材》由会员分享,可在线阅读,更多相关《Guava快速进阶培训教材(43页珍藏版)》请在装配图网上搜索。
1、,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,#,,快速进阶,主讲人:陈雄华,目录,概述,基础类型,处理,其它,是什么?,开源核心类库!,快乐编程,快速编程!,高效稳定,充分测试!,如何获取?,12.0,项目网址:,:,目录,概述,基础类型,处理,其它,:合并字符串,(),1=(;)(),(a,b,c);,(1,);,2=(,)(1,5,7);,(2,1,5,7);,.,1=(,);,.,2=(,)();,很明显,提供的方法更加的面向对象一点,因为它要先创建一个,对象,然后使用它来分割字符串,而的方法则有点函数式编程的味道,,它的方法都是静态的。,和 使
2、用方法比拼,:性能,(),=;,=();,(0;i1000000;),(,);,()-);,=();,(0;i1000000;),(,)();,()-);,=();,=(,);,(0;i2,=(),(,),=();,(),=();,();,();,自己实现太麻烦,你需要检查是否存在,否则创建一个,最后代码成为这个样子:,比较痛苦,如果你希望检查中的对象是否存在,删除一个对象,或者遍历整个数据结构,那么需要更多的代码。,来了,=();,(),();,(,);,(,);,(,);,(,);,();,()4,();,(),(,);,(),();,()(!),这里需要注意,所有的的集合都有()方法,这
3、个好处就是比较简单,你不用重复泛型信息了。,更多,这里有一点你可能会疑惑,就是为何方法返回的是一个而不是,这是因为前者会更加有用。如果你需要基于直接操作或者,那么可以使用在定义类型的时候使用子类名称:,和。例如:,=();,=();a,a.,一个普通的是一个的集合,你可以使用来查询,但不能用查询,但是则都可以。,=();,a,(,);,(,);,(,);,();,();,();,();,强制唯一性:首先,强制其的唯一性,如果发现违规则会抛出,可用()覆盖已有的条目;,方法:返回的视图,如果对视图对象操作将影响原对象;,是什么?,顾名思义,和的区别就是可以保存多个相同的对象,它和有什么区别?,在
4、中,和有一个基本的区别,就是可以包含多个相同对象,且是有顺序的,而不能有重复,且不保证顺序(有些实现有顺序,例如和等)所以占据了和之间的一个灰色地带:允许重复,但是不保证顺序。,注意:这种集合在 中也被称作“”.,怎么使用?,(),=();,(,(,);,(),2);,(,2);,(),0);,有一个有用的功能,就是跟踪每种对象的数量,所以你可以用来进行数字统计。,更多的集合类型,提供了若干个额外的集合类,它们是集合类的补充,可以和集合类和平共处。,(),目录,概述,基础类型,处理,其它,(),=(,);,=(,(),(s),();,);,(s:),(s),利用它们,可以为集合类的转换提供自定
5、义的转换函数。,:函数式编程,(),=(,);,=();,(s:),();,使用,(),=(,);,=(,(),(s),();,);,使用,闭包风格,:集合支持,函数的最大用途是对集合元素进行各种转换,集合工具都拥有相应的:,(,);,(,);,2(,),(,),(,),(,),(,),(,),(,),.,:谓词(或称断言),(),=(,);,=();,(s:),(!(s),(s);,=(,(),(s),!(s);,);,();,最常的功能是,使用对集合进行过滤。,:集合支持,函数的最大用途是对集合元素进行过滤,集合工具都拥有相应的:,(,);,(,);,2(,),(,),(,),(,),(,
6、),.,注意:的过滤方法被特意忽略了,因为的()效率不高,所以请使用如下方式进行过滤:,(2(,),目录,概述,基础类型,处理,其它,:操作文件方便!,(),=(1);,=()读为二进制数组,=(),8)读文件内容,拷贝文件,()()()+/2);,=(),8)读取每行,通过回调函数单行处理,(),8(),=;,(s),s;,;,(),;,);,(),=(1);,使用需要外部显式(),=();,=();,();,使用则无需(),内部会之,=,();,=();,使用时,一定要在中外部资源,如果忘记了会造成资源锁定。提供的会自动完全资源关闭,的众多工具类都支持这对接口,免除关闭资源的问题。,(,)
7、不会关闭流,(,)会关闭流,(,b),(),(,),(r),(r),目录,概述,基础类型,处理,其它,方法实现,(),(),();,(),()(,()(,()();,(o),(!(o ),;,=()o;,(),()(),();,:覆盖通用方法,(),(),();,(),(17,37),(),()();,:覆盖通用方法,(),(),(,(),(,(),();,(),(),(,(),(,(),();,:覆盖通用方法,(),(!(),;,=();,(),(),(),();,(),(!(),;,=();,(),()(),(),();,入参检查,(),(,名称不能为空);,(=0,年龄不能为负数);,.,(),(!(),;,=();,(),()(),(),();,并发编程,对 进行了增强,包括:,对进行扩展,增加了(,)方法,注册一个监听器,当中的任务完成时,在中运行。,(),=(),(10),(1000),(),(,),();,),(10,),(),(),;,);,谢,谢,!,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。