Java 如何在没有太多空间的情况下建模此数据模型?

Java 如何在没有太多空间的情况下建模此数据模型?,java,Java,我写这个问题是因为我不知道如何对我需要的数据模型建模 首先,这就是我所拥有的(我把它简化了一点): 我有一个列表其中Foo有三个属性: public class Foo { public int one; public int two; public long three; } 现在我有了另一个列表2 最重要的是:列表中的第一项与列表2中的第一项是对应的 我想要的: 我想要一个结构,当我输入一,二,三,然后得到相应的int 我对此感到厌倦: 我找到了1、2和3的最大值,

我写这个问题是因为我不知道如何对我需要的数据模型建模

首先,这就是我所拥有的(我把它简化了一点): 我有一个
列表其中Foo有三个属性:

public class Foo {
    public int one;
    public int two;
    public long three;
}
现在我有了另一个
列表2

最重要的是:
列表中的第一项与
列表2中的第一项是对应的

我想要的: 我想要一个结构,当我输入一,二,三,然后得到相应的
int

我对此感到厌倦: 我找到了1、2和3的最大值,然后创建了一个
int[maxOne][maxTwo][maxtwree]
并将其填充到一个循环中:

int count = 0;
int[][][] daten = new int[maxOne][maxTwo][maxThree];
for (Foo foo : list)
{
    daten[foo.one][foo.two][foo.three] = list2[count];
    count++;
}
但是这是一个坏主意,因为
新的int[maxOne][maxTwo][maxThree]需要很多内存,并且不需要这个三维数组中的所有值


那么您的建议是什么呢?

使用
哈希映射;只要确保在
Foo
中覆盖
hashcode
equals
equals
应该很容易,请参阅覆盖
hashcode
的示例)

使用
HashMap
;只需确保在
Foo
中覆盖
hashcode
equals
equals
应该很容易,请参阅覆盖
hashcode
的示例)

只需浏览
列表即可。如果性能有问题,也可以构建二元搜索树。创建对象,放置关联,不要使用多维结构。我想你可以使用我不太确定你想要什么,但你可以使用HashMap,使用Foo对象作为键。只需浏览
列表
。如果性能有问题,也可以构建二元搜索树。创建对象,放置关联,不要使用多维结构。我想你可以使用我不确定你想要什么,但你可以使用HashMap,使用Foo对象作为键。好的,我制作了一个HashMap,并覆盖了这两个方法,但是,当我以前需要创建自己的Foo时,如何获取元素呢?HashMap没有s.th。比如:getEquals,它只是有getMap,你需要用
map.get(new Foo(one,two,three))
-你需要在
Foo
中创建必要的构造函数好的,我制作了一个HashMap并重写了这两个方法,但是当我以前需要创建自己的Foo时,如何获取元素呢?HashMap没有s.th。比如:getEquals,它只是有一个gets,你需要用类似于
map.get(new Foo(one,two,three))
的东西来检索值-你需要在
Foo
中创建必要的构造函数