- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
fastutil介紹
fastutil介绍 myz
目录
fastutil 简介
fastutil 扩展了java的colleciton framework ,它提供了一系列特殊类型的maps,sets,
lists 和priority queues,fastutil具有内存占用小,访问速度快,提供大的(64位)的arrays ,sets ,lists类型,以及快速实用的二进制及文本文件的的输入输出操作。
java collection framework
collecton
map
list
set
Vector
ArrayList
LinkedList
HashSet
TreeSet
Hashtable
HashMap
TreeMap
fastutil简介
fastutil 三个核心
1、对java集合框架(collection framework)特定类型的扩展
2、支持大容器的类(big arrays, big lists, big hashsets)
3、对于二进制及文本文件的快速实用的访问类
typt-specific classes
在java里面,colleciton framework的使用运用了泛型,而fastutil实现了更为严格的接口来扩展和强化java标准的接口。
(例如:Int2SortedMap , Long2IntHashMap , ShortArrays , IntListIterator)
8种基本数据类型加上引用类型的组合,使得fastutil包含了1794个类
以至于在API中特地强调了这么一句话:
(原文如下)The huge number of classes required a suitable division in subpackages (more than anything else, to avoid crashing browsers with a preposterous package summary).
所以学习 fastutil最重要关键是--------理解你所需要类的类名
typt-specific classes
Colleciotns 的命名:
value type collection type
Maps 的命名:
keytype2valuetype maptype
举例说明:
1 IntOpenHashSet 是一个存储integers 类型的hashset ,它同时实现了IntSet 接口
2
Long2IntAVLTreeMap 是一个key
值为long ,value值为int 并且用AVLTree来构建map,它实现了Long2IntMap接口
3 Reference2ReferenceOpenHashMap类似于java里面的IdentityHashMap(一个用hash表实现了map接口的类,元素的相等性判断使用引用类型判断,而不是用(k1==null ? k2==null : k1.equals(k2)) )
typt-specific classes
fastutil中的包是按照元素或者key的数据类型来分类的
例如:
IntSet 是在it.unimi.dsi.fastutil.ints包下
Int2ReferenceRBTreeMap也是放在it.unimi.dsi.fastutil.ints包下
所有的非基本数据类型放在饿了it.unimi.dsi.fastutil.objects包下
最后,还有一些非特殊类型的类放在了it.unimi.dsi.fastutil包下
fastutil的组织结构
typt-specific classes
在fastutil 中增添了不少新特性:
例如:
1、HashSet增加了一个get()方法(java中要用迭代器),返回集合中的值。
2、迭代器iterators是双向的(java 中iterator只能是单向移动,只有ListIterator可以双向移动),所有的迭代器都有nexttype()方法,直接返回一个基本数据类型,也可以用previous()向前迭代。
3、可以通过数组或者迭代器轻松的构造一个sets(在java里面要用add或者 addll方法才可以),例如快速的创建一个Strings的set
new ObjectOpenHashSet(new String[] { foo , bar });
或者用迭代器:new IntArrayList( ite
您可能关注的文档
- CloningWhereIsItLeadingUs課件.ppt
- CMOS集成電路设计.ppt
- ERP應用与实践中的关键问题.ppt
- ETF的概念和投資原理.ppt
- FBs系列PLC高級应用篇高速计数定时器课件.ppt
- Fdiggmp3課件.ppt
- FE4000寬温型系列.ppt
- FPGA的開发流程ppt.ppt
- FRaphalAAubrgeJMBoivinADeluzenov20課件.ppt
- FrontPage教學.ppt
- 原电池电动势的测定实验报告.pdf
- 与业主、设计、总包、监理和他承包人的配合措施.pdf
- 公司管理流程.pptx
- 2024_2025学年新教材高中地理第1章地球的运动素养综合训练新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第3章大气的运动第1节常见天气系统第1课时锋与天气分层作业新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第1章地球的运动第2节地球运动的地理意义第4课时正午太阳高度的变化四季更替和五带划分分层作业课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第2章地表形态的塑造第2节构造地貌的形成第1课时地质构造与地貌课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第1章地球的运动问题研究人类是否需要人造月亮课件新人教版选择性必修1.pptx
- 五片小雪花课件.pdf
- 2024_2025学年新教材高中地理第3章大气的运动第2节气压带和风带第1课时气压带和风带的形成分层作业课件新人教版选择性必修1.pptx
最近下载
- Beautiful Ireland and Its Traditions优秀教学课件.pptx
- 2023年第二届新晨杯_B题.pdf VIP
- 光储柴一体化供电系统应用调研及系统方案.ppt
- 毕业设计(论文)某机械加工车间低压配电系统及车间变电所设计.doc
- 火锅店安全管理制度解析.docx
- 机械制图习题集(多学时)第4版课后习题答案.pdf VIP
- 《祝福》《林教头风雪山神庙》《装在套子里的人》联读课件 统编版高中语文必修下册.pptx
- 2020-2021学年广东省广州市天河区七年级(下)期末语文试卷.doc VIP
- 彩钢板屋面除锈及防水工程施工方案.doc VIP
- 肺隐球菌病病人的护理.pptx
文档评论(0)