Bagaimana cara mendeklarasikan HashMap‹String, ArrayList‹ArrayList‹String›››? [duplikat]

Saya mendeklarasikan peta hash; String sebagai kunci dan ArrayList dari ArrayList dari String sebagai nilai.

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

Tapi itu menunjukkan kesalahan: Tipe HashMap tidak generik; itu tidak dapat diparameterisasi dengan argumen <String, ArrayList<ArrayList<String>>>

Bagaimana cara mendeklarasikan HashMap jenis ini?


person Yu Wai Hlaing    schedule 15.10.2015    source sumber
comment
Apa HashMap yang Anda impor? Tampaknya berfungsi dengan baik untuk saya (Java 8)   -  person MadProgrammer    schedule 15.10.2015
comment
Map<String, ArrayList<ArrayList<String>>> idPathMap = new HashMap<String, ArrayList<ArrayList<String>>>(); tidak memberikan kesalahan apa pun di Java 8   -  person Saravana    schedule 15.10.2015
comment
Periksa impor Anda, mungkin Anda menggunakan yang lama..   -  person Karthik T    schedule 15.10.2015
comment
impor adalah Java.util.Map   -  person Yu Wai Hlaing    schedule 15.10.2015
comment
@YuWaiHlaing Berfungsi dengan baik........tidak ada kesalahan   -  person A. Sinha    schedule 15.10.2015


Jawaban (1)


Tapi itu menunjukkan kesalahan: Tipe HashMap tidak generik; itu tidak dapat diparameterisasi dengan argumen >>

Anda telah membuat kelas Anda sendiri bernama HashMap. Ganti nama kelas Anda (mask java.util.HashMap, meskipun Anda telah mengimpornya) . Atau,

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

atau di Java 8+

public Map<String,ArrayList<ArrayList<String>>> idPathMap = 
    new java.util.HashMap<>();
person Elliott Frisch    schedule 15.10.2015
comment
Terima kasih pak, saya tidak memperhatikan HashMap kelas saya sendiri. Ini berfungsi sekarang. - person Yu Wai Hlaing; 15.10.2015