2015-10-15 4 views
-1

Я объявляю hashmap; String as key и ArrayList из ArrayList строки в качестве значения.Как объявить HashMap <String, ArrayList <ArrayList <String> >>?

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

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

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

+0

Что 'HashMap' вы импорта? Мне кажется, что все в порядке для меня (Java 8) – MadProgrammer

+0

'Карта >> idPathMap = new HashMap >>();' не дает ошибок в Java 8 – Saravana

+0

Проверьте свой импорт, возможно, вы используете старый. –

ответ

2

But it show the error:The type HashMap is not generic; it cannot be parameterized with arguments >>

Вы создали свой собственный класс с именем HashMap. Переименуйте свой класс (это masksjava.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<>(); 
+0

Спасибо, сэр, я не заметил о своих собственных класс HashMap. Он работает сейчас. –