Java инициализация карты, встроенной в другую карту - PullRequest
0 голосов
/ 06 октября 2019

Good afernoon:

Недавно я создал определенный класс 'X', который содержит один атрибут «сеть», который определяется как карта, которая использует строку в качестве ключа и другую карту для значения (двойная карта). Для этого класса будет использоваться реализация "hashmap".

Класс выглядит примерно так:

public class X {
    private Map<String, Map<String, Integer>> network;   //Attribute

    public X() {        
        network = new HashMap<>();    //An empty map is created
    }

    public int method1 {
        String string = "sentence"; 
        int number = 2; 
        String string2 = "another";
        network.put(string, <string2, number>);    //NOT WORKING - wrong syntax/wrong initialization?
    }    
}

Однако, когда я выполняю инструкцию network.put, содержащуюся в функции,Компилятор автоматически обнаруживает ошибку: «Ожидается выражение». Если возможно, я хотел бы знать, использую ли я неправильный синтаксис при добавлении нового элемента значения ключа в карту, или это инициализация карты, которая вызывает ошибку.

Вся помощь в значительной степениоценили. Спасибо.

1 Ответ

2 голосов
/ 06 октября 2019

Вам нужно сделать:

public class X {
    private Map<String, Map<String, Integer>> network;   //Attribute

    public X() {        
       network = new HashMap<>();    //An empty map is created
    }
    public int method1() {
      String string = "sentence"; int number = 2; String string2 = "another";
      Map<String, Integer> map = new Hashmap<>();
      map.put(string2, number);
      network.put(string, map) ; 
    }
 }

Идея заключается в создании и инициализации новой HashMap. Затем добавьте к нему пару ключ и значение. Наконец вставьте карту в прилагаемую карту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...