ฉันจะประกาศ HashMap‹String, ArrayList‹ArrayList‹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