Map<String, ArrayList<Pair<String, Integer>>> k = new Map<String, ArrayList<Pair<String, Integer>>>();
Cette ligne est dans mon code. Je voudrais instancier une carte qui contient une chaîne puis une liste de paires de chaînes et de nombres entiers.
Pair est une classe que j'ai écrite qui se trouve dans mon package.
J'obtiens "Impossible d'instancier le type Map >> ();
Pourquoi pas? Cela me semble raisonnable ...
Le Map
intégré est une interface qui ne peut pas être instanciée. Vous pouvez choisir entre de nombreuses implémentations de classes concrètes sur le côté droit de votre mission, telles que:
ConcurrentHashMap
HashMap
LinkedHashMap
TreeMap
et plein d'autres. Javadocs pour Map
répertorie de nombreuses implémentations concrètes directes.
Les interfaces ne peuvent pas être instanciées Vous devez utiliser une classe concrète implémentant l'interface Essayez quelque chose comme ça
Map<String, ArrayList<Pair<String, Integer>>> k = new HashMap<String, ArrayList<Pair<String, Integer>>>();