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 原始集合库 [关闭]

MYSQL IN 与 EXISTS 的优化示例

Java内存使用量测试 看看我们天天在用的JVM到底浪费了多少内存资源

如何使用 LIMIT syntx 优化具有 17 个连接表的复杂查询并限制每个连接的数据

组合多个查询/查询优化

如何使用 Python 优化实时绘制串行数据