Как объявить HashMap‹String, ArrayList‹ArrayList‹String›››?

я объявляю hashmap; String в качестве ключа и ArrayList из ArrayList из String в качестве значения.

public Map<String,ArrayList<ArrayList<String>>> idPathMap = new HashMap<String,ArrayList<ArrayList<String>>>();

Но это показывает ошибку: тип HashMap не является универсальным; его нельзя параметризовать аргументами <String, ArrayList<ArrayList<String>>>

Как я могу объявить этот тип HashMap?


person Yu Wai Hlaing    schedule 15.10.2015    source источник
comment
Что HashMap вы импортируете? У меня вроде нормально работает (Java 8)   -  person MadProgrammer    schedule 15.10.2015
comment
Map<String, ArrayList<ArrayList<String>>> idPathMap = new HashMap<String, ArrayList<ArrayList<String>>>(); не выдает ошибок в Java 8   -  person Saravana    schedule 15.10.2015
comment
Проверьте свой импорт, возможно, вы используете старый.   -  person Karthik T    schedule 15.10.2015
comment
импорт java.util.Map   -  person Yu Wai Hlaing    schedule 15.10.2015
comment
@YuWaiHlaing Работает нормально ........ без ошибок   -  person A. Sinha    schedule 15.10.2015


Ответы (1)


Но это показывает ошибку: тип HashMap не является универсальным; его нельзя параметризовать аргументами >>

Вы создали свой собственный класс с именем HashMap. Переименуйте свой класс (он маскирует java.util.HashMap, даже если вы его импортировали) . Или,

public Map<String,ArrayList<ArrayList<String>>> idPathMap = 
    new java.util.HashMap<String,ArrayList<ArrayList<String>>>();

или на Java 8+

public Map<String,ArrayList<ArrayList<String>>> idPathMap = 
    new java.util.HashMap<>();
person Elliott Frisch    schedule 15.10.2015
comment
Спасибо, сэр, я не заметил про свой собственный класс HashMap. Теперь это работает. - person Yu Wai Hlaing; 15.10.2015