Подтвердить что ты не робот

Не удается создать карту... ну почему бы и нет?

Map<String, ArrayList<Pair<String, Integer>>> k = new  Map<String, ArrayList<Pair<String, Integer>>>();

Эта строка находится в моем коде. Я хотел бы создать экземпляр Карты, содержащей String, а затем ArrayList пар строк и целых чисел.

Пара - это класс, который я написал в моем пакете.

Я получаю "Не могу создать тип карты → ();

Почему бы и нет? Кажется разумным для меня...

4b9b3361

Ответ 1

Встроенный Map - это интерфейс, который не может быть создан. Вы можете выбирать между множеством реализаций конкретных классов в правой части вашего задания, например:

  • ConcurrentHashMap
  • HashMap
  • LinkedHashMap
  • TreeMap

и многие другие. Javadocs для Map перечисляет множество прямых конкретных реализаций.

Ответ 2

Интерфейсы не могут быть запутаны Вы должны использовать некоторый конкретный класс, реализующий интерфейс Попробуйте что-то вроде этого

Map<String, ArrayList<Pair<String, Integer>>> k = new  HashMap<String, ArrayList<Pair<String, Integer>>>();