所以我需要一个链表来存储多个变量,所以我想用我手工制作的Linked List ADT,还想要Java的Linked List的Comparator Sort from collections.sort();
所以我尝试并编辑了我的代码如下:
public class HLinkedList <HTreeNode> extends LinkedList <HTreeNode>
{
public class HTreeNode {
public HTreeNode left;
public HTreeNode right;
public HTreeNode next;
public int frequency;
public char value;
public String code;
public HTreeNode(int freq, char val, HTreeNode l, HTreeNode r, HTreeNode n, String code) // code is the path taken to this node, how to explain it in code?
{
value = val;
frequency = freq;
left = l;
right = r;
next = n;
code = ""; // just initialized ,but have to think through logic.
}
}
但是如果我这样做,而不仅仅是public class HLinkedList
(这很好,除了我不能使用 Collections.sort(HList, comparatorA)
,我需要有 Java 的链接列表的一行代码。
无论如何,如果我的代码如上所示,它会返回一个
cannot make static reference to non-static type HTreeNode in following line,
在 HTreeNode 下带有红色衬里。如果我不尝试扩展 LinkedList,则不会发生这种情况。
public static void insertIntoPosition(HTreeNode node, int position)
也遵循上述错误是一个错误
public HLinkedList() //constructor
{
head = null; //inital value
nItem = 0;//counter
}
其中代码中的多次出现表明它们不能静态引用非静态头。通常当这样的东西出现时,我点击“使头部静态”,但在这种情况下,当我这样做时,会弹出更多错误,现在指向所有“头部”引用。
我只想知道当我尝试扩展LinkedList但失败时发生了什么,或者我是否应该不扩展但可能做其他事情?