具有大量空条目的大型数组

时间:2018-06-29 15:36:02

标签: java arrays

我正在用Java编写程序,该程序当前包含以下内容:

double[][][][][][][][][][][] array = new double[20][10][9][8][5][4][4][3][3][3][2];

但是,这些条目中的大多数将保持为空。除了将条目从null更改为仅为每个条目分配内存的数组之外,还有其他选择吗?

1 个答案:

答案 0 :(得分:4)

可以使用映射而不是数组,它只会为每个条目分配。像这样:

public class Key { double d1,d2,d2...d11; (constructor, equals, comparable (if want sorted), hash etc) }

Map<Key, Double> map = new TreeMap<>();

Key key = new Key(20, 10, 9, 8, 5, 4, 4, 3, 3, 3, 2);
map.put(key, 1.0);