来源:http://rensanning.iteye.com/blog/1548162
fastutil扩展了 Java集合框架,通过提供特定类型的map、set、list和queue,以及小内存占用、快速访问和插入;也提供大(64位)array、set 和 list,以及快速、实用的 二进制文件和文本文件的I/O类。它是自由软件,依照Apache许可证2.0发布,需要Java 6或更高版本。
类实现其标准接口(例如, map 的 Map),可以插入现有代码。此外,它们还提供未在标准类的附加??功能(如双向迭代器) 。
除了 对象和基本类型,fastutil类提供支持引用(references),即使用相等运算符,而不是比较对象的equals()方法。
源代码由C预处理器生成,从一组驱动文件开始。您可以在查看javadoc生成的文档。尤其是概述说明中fastutil使用的设计选择。
大数据结构
使用fastutil 6类的一组新类,使得它可以处理非常大的集合,特别是其规模超过2 31 。大数组是数组的数组,由一个神奇的静态方如果是带有64为索引的单位数组; big list 提供64位列表索引,hash big set 的 大小是只受限于核心内存量。常用的方法来自java.util.Arrays,类似的类已经扩展到大数组:可查看Javadoc关于 BigArrays和 IntBigArrays 的文档,以获得通用和特定类型的可用方法 。
http://fastutil.di.unimi.it/
虽然JCF(Java Collections Framework)在设计做的很好,但是从性能很功能上都有一定的局限性,所有出现很多的扩展JDK的集合框架出现,除了fastutil之外,主要的 JDK集合框架的扩展还有以下这么多,他们都各自有各自的特点,各有所长:
…
阅读全文