我正在用Java编写程序,该程序当前包含以下内容:
double[][][][][][][][][][][] array = new double[20][10][9][8][5][4][4][3][3][3][2];
但是,这些条目中的大多数将保持为空。除了将条目从null更改为仅为每个条目分配内存的数组之外,还有其他选择吗?
答案 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);