我正在写这个问题,因为我不知道如何为我需要的这个 dataModel 建模。
首先,这就是我所拥有的(我简单化了一点):我有一个List<Foo> list;
where Foo 具有三个属性:
public class Foo {
public int one;
public int two;
public long three;
}
现在我有另一个List<int> list2;
最重要的是:第一项list
和第一项list2
是对应的。
我想得到什么:
我想要一个结构,在其中我可以输入一,二,三然后得到对应的int
我对此感到厌烦:我找出了 1、2 和 3 的最大值,然后创建了一个int[maxOne][maxTwo][maxThree]
并在循环中填充它:
int count = 0;
int[][][] daten = new int[maxOne][maxTwo][maxThree];
for (Foo foo : list)
{
daten[foo.one][foo.two][foo.three] = list2[count];
count++;
}
但这是一个坏主意,因为new int[maxOne][maxTwo][maxThree];
需要非常多的内存,而不是需要这个 3 维数组中的每个值。
那么你的建议是什么?