fastutil介紹.pptVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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

文档评论(0)

1234554321 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档