Установка значения древовидной карты в древовидной карте?
Пожалуйста, потерпите меня, я искал в Интернете все утро, пытаясь найти правильный синтаксис для небольшой проблемы, которая возникает. Как бы вы установили древовидную карту внутри древовидной карты?
Переменная экземпляра для карты:
private final TreeMap<Integer,TreeMap<Integer,Double>> matrix;
/**
* Change the value at a given position.
* If the position is not in the matrix (i.e., i is not between 0 and rows-1
* and j is not between 0 and cols-1), then don't change anything.
*
* @param i The row.
* @param j The column.
* @param v The new value.
*/
public void set(int i, int j, double v) {
if (matrix.containsKey(i) && matrix.containsValue(j) == true) {
matrix.remove(j); // Is this needed?
matrix.put(i<j,v>); // ERROR: not right syntax for this
}
} // end of set method
2 ответа
private final TreeMap<Integer,TreeMap<Integer,Double>> matrix;
Вы не можете присвоить значение экземпляру, который объявлен как окончательный, кроме, в заявлении, которое вы объявляете:
public final TreeMap<Integer,TreeMap<Integer,Double>> matrix = new TreeMap<>();
Тогда вы должны быть в состоянии put
, get
TreeMap
от matrix
по-прежнему:
matrix.put(1, new TreeMap<Integer, Double>());
matrix.get(1).put(1, 1.23);