gpt4 book ai didi

java - 用于查询处理和数学运算的表状数据结构

转载 作者:行者123 更新时间:2023-12-01 14:23:38 30 4
gpt4 key购买 nike

我想要一个类似表格的多列数据表示形式。例如考虑以下示例:

---------------------------------------------------------------
col1 col2 col3 col4 col5(numeric) col6(numeric)
---------------------------------------------------------------
val01 val02 val03 val04 05 06
val11 val12 val13 val14 15 16
val21 val22 val23 val24 25 26
val31 val32 val33 val34 35 36
.
.
.
---------------------------------------------------------------

我想通过给定列中的值查询此表,例如在 col2 列中搜索值 val32,它应该以相同的表格格式返回与此查询匹配的所有行。

对于某些列,例如 col5col6,我想执行数学运算/查询,例如 getMax()getMin()getSum()divideAll() 等...

对于这样的要求,有人可以建议任何类型的数据结构最能解决我的目的吗?任何一种数据结构或它们的组合,考虑高效运算(如上面的数学示例)和查询??

如果有人需要更多信息,请告诉我。

编辑:附加要求

这应该足够高效,可以处理数亿行,并且可以轻松高效地持久保存。

最佳答案

您需要的是一个由三部分组成的方法:

  1. 一个Row包含每列字段的类
  2. 一个List<Row>存储行并提供顺序访问
  3. 一个或多个Map<String,Row>Map<Integer,Row>通过各种列值提供对行的快速查找。如果列值不唯一,那么您需要 MultiMap<...>允许给定键有多个值的实现(互联网上有多个可用的实现)。

Row对象首先放置在列表中,然后在加载所有行后构建索引。

关于java - 用于查询处理和数学运算的表状数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17334938/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com