我正在使用带有Angular的javascript / typescript,我应该可以添加/删除/更新项目。另请注意,我将在每个单元格中包含大量行和列以及最多100个非重复项目。 到目前为止,我正在考虑这种数据结构:
var data = new Map<string, Map<string, Set<Item>>>();
其中字符串是rowKeyN,columnKeyN和Set包含每个单元格中的项目。
这种数据结构看起来有点复杂,但在性能方面却是最好的。 你怎么看? 提前谢谢。
答案 0 :(得分:-1)
遇到这个问题-您应该查看Guava的(对于Java)表表示形式-在最后一种情况下您将获得一个列表
see more details here for Guava's table
但简而言之: 取自文档:
Table<Vertex, Vertex, Double> weightedGraph = HashBasedTable.create();
weightedGraph.put(v1, v2, 4);
weightedGraph.put(v1, v3, 20);
weightedGraph.put(v2, v3, 5);
weightedGraph.row(v1); // returns a Map mapping v2 to 4, v3 to 20
weightedGraph.column(v3); // returns a Map mapping v1 to 20, v2 to 5
您的情况应该是Table<Vertex,Vertex,Array>
我是在这里尝试搜索类似上述内容的Typescript的-我还没有找到它-至今-如果有人知道这样的实现-让我知道