ฉันกำลังทำงานกับคลาสเมทริกซ์แบบกระจัดกระจายที่ต้องการใช้อาร์เรย์LinkedListเพื่อเก็บค่าของเมทริกซ์ แต่ละองค์ประกอบของอาร์เรย์ (เช่นแต่ละรายการLinkedList) แทนแถวของเมทริกซ์ และแต่ละองค์ประกอบในLinkedListอาร์เรย์แสดงถึงคอลัมน์และค่าที่เก็บไว้
ในชั้นเรียนของฉันฉันมีการประกาศอาร์เรย์เป็น:
private LinkedList<IntegerNode>[] myMatrix;
และในตัวสร้างของฉันสำหรับSparseMatrixฉันพยายามกำหนด:
myMatrix = new LinkedList<IntegerNode>[numRows];
ข้อผิดพลาดที่ฉันได้รับคือ
ไม่สามารถสร้างอาร์เรย์ทั่วไปของ
LinkedList<IntegerNode>.
ดังนั้นฉันมีสองประเด็นเกี่ยวกับสิ่งนี้:
- ฉันทำอะไรผิดและ
- เหตุใดประเภทจึงเป็นที่ยอมรับในการประกาศสำหรับอาร์เรย์หากไม่สามารถสร้างได้
IntegerNodeเป็นคลาสที่ฉันสร้างขึ้น และไฟล์คลาสทั้งหมดของฉันรวมอยู่ด้วยกัน
class IntegerNodeList extends List<IntegerNode> {}