Установка значения древовидной карты в древовидной карте?

Пожалуйста, потерпите меня, я искал в Интернете все утро, пытаясь найти правильный синтаксис для небольшой проблемы, которая возникает. Как бы вы установили древовидную карту внутри древовидной карты?

Переменная экземпляра для карты:

    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 ответа

Это то, что вы ищете?

matrix.get(i).put(j, v);
private final TreeMap<Integer,TreeMap<Integer,Double>> matrix;

Вы не можете присвоить значение экземпляру, который объявлен как окончательный, кроме, в заявлении, которое вы объявляете:

public final TreeMap<Integer,TreeMap<Integer,Double>> matrix  = new TreeMap<>();

Тогда вы должны быть в состоянии put, getTreeMap от matrix по-прежнему:

matrix.put(1, new TreeMap<Integer, Double>());
matrix.get(1).put(1, 1.23);
Другие вопросы по тегам