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