fastutil优化数据结构使用示例
Posted dtmobile-ksw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fastutil优化数据结构使用示例相关的知识,希望对你有一定的参考价值。
fastutil githup 链接
pom.xml文件引入依赖
<dependency> <groupId>fastutil</groupId> <artifactId>fastutil</artifactId> <version>5.0.9</version> </dependency>
java原生数据结构与fastutil的对应关系,列出了比较常用的几个:
List相关:
List<Integer> list = new ArrayList<>(); 对应fastutil的
IntList fast_list = new IntArrayList();
Map相关
fastutil的map命名规则是 keyType2valueTypeMap,比如java的Map<Double,Double> 在fastutil中可对应
Double2DoubleMap d_map = new Double2DoubleOpenHashMap();
如果key为String类型,value为double类型,则:
Object2DoubleMap<String> map = new Object2DoubleOpenHashMap<>();
如果key为String类型,value为自定义的类,则:
Object2ObjectMap<String, JavaBean> map = new Object2ObjectOpenHashMap<>();
如果在spark中使用fastutil,并且使用kryo序列化,那么不要忘记执行kryo注册,比如:
conf.registerKryoClasses(new Class[]{Double2ObjectOpenHashMap.class,Object2ObjectOpenHashMap.class});
以上是关于fastutil优化数据结构使用示例的主要内容,如果未能解决你的问题,请参考以下文章
Java内存使用量测试 看看我们天天在用的JVM到底浪费了多少内存资源