博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
另外几种Java集合框架详解
阅读量:6251 次
发布时间:2019-06-22

本文共 1669 字,大约阅读时间需要 5 分钟。

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/50518724

另外几种Java集合框架详解

作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:

1、fastutil

fastutil是一个开源的Java集合框架的扩展,它继承了Java Collection Framework,提供了数种特定类型的容器,包括映射map、集合set、列表list、优先级队列(prority queue),实现了java.util包的标准接口(还提供了标准类所没有的双向迭代器),还提供了很大的(64位)的array、set、list,以及快速、实用的二进制或文本文件的I/O操作类。

fastutil为专用的集合类提供了大容量的功能,而且类比普通Java集合类显得更紧凑、速度更快。
除了对象和原始类型,fastutil类还提供了对引用的支持,也即对象是可以使用等号操作符进行比较的,无需使用equals()方法。
fastutil以Apache 2.0许可证发布。使用它需要JDK 7以上版本。

fastutil以JAR包的方式提供,要注意这个JAR包文件比较大,因为它包含了大量的类文件。如果你只想要fastutil的一部分,那么应该考虑实用AutoJar之类的根据来自动提取所需的类。

官网地址:

相似的技术:HPPC、Koloboke、GS Collections、Trove Collections、Mahout Collections

fastutil目前的最新版本为7.0.10版,这个最新的JAR包fastutil-7.0.10.jar大小为17MB。其Maven依赖为:

it.unimi.dsi
fastutil
7.0.10

fastutil的在线API文档见:

fastutil 6在大数据方面进行了增强,提供了一套新的类集合使得可以处理很大的集合,尤其是当集合数据超过2GB(2^31)时。比如Hash Big Set仅仅受内存大小的限制。

2、HPPC

官网地址:

官网地址:
HPPC即High Performance Primitive Collections for Java,对Java的原始集合类型如映射map、集合set、堆栈stack、列表list、队列deque等进行了扩展,提供了更佳的内存利用率,带来了更好的性能。
HPPC当前的最新版本为0.7.1

3、Trove

官网地址:

Trove库提供了高速的Java集合类。

GNU Trove库有两个目标:

1)提供一个免费、高速、轻量级的java.util集合API的实现。
这些实现被设计成可插拨的方式,以便替代标准JDK的集合类。
2)提供原始的集合,API风格保持一致。
标准JDK使用包装器类来封装原始类型,比如java.lang.Integer,java.lang.Float等,那么标准集合类也使用了包装后的类型。而对于Trove库来说,集合直接存储原始类型可以减少空间的使用量,并能带来显著的性能提升。

GNU Trove库既可以用于服务器端应用,也可以用于客户端应用,它消耗的内存比标准集合框架更少。

GNU Trove库目前的最新版本为3.0.3版,很成熟的一个库。
应注意,Trove已经很久没更新了,此项目可以不予考虑。

4、Mahout Collections

官网地址:

Mahout Collections库是一套容器类集合,它致力于解决标准Java集合框架的一些限制。Mahout Collections主要解决两方面的问题:

1)Java标准集合框架缺乏对原始类型的支持
2)Java标准集合框架缺乏对open hashing的支持

你可能感兴趣的文章
matplotlib图像中文乱码(python3.6)
查看>>
PKUSC2018游记
查看>>
css
查看>>
解决linux 乌班图下使用eclipse创建类和其他各种操作进程卡死的问题的一种可能方法...
查看>>
Java规则引擎及JSR-94[转]
查看>>
【c学习-13】
查看>>
转:最全列表: 80 多个 Linux 系统管理员必备的监控工具
查看>>
给报表增加页眉
查看>>
Mysql配置参数说明
查看>>
python ----字符串基础练习题30道
查看>>
K 班1-7,alpha,beta 作业成绩汇总
查看>>
uva-10879-因数分解
查看>>
写了一个bug----使用已经被删除的内存
查看>>
清空表且自增的id重新从0开始
查看>>
[杂记]如何在LaTeX里插入高亮代码
查看>>
解决数据架构难点数据分布的六种策略
查看>>
mysql 存储过程创建
查看>>
centos7 composer安装
查看>>
「常微分方程」(阿諾爾德) Page 6 問題4 經過擴張相空間的每一點有且僅有一條積分曲線...
查看>>
同一个闭区间上有界变差函数的和与积都是有界变差函数
查看>>