这是扩展 LinkedList 的类我正在使用 addtopq 来制作优先级 que 系统,其中 que 的第一个元素是字符串,第二个是与该字符串相关的优先级。忽略异常
class PQ extends LinkedList {
public void addtopq(String s, Integer p){
if (p<1 || p>20) throw new InvalidPrioty("Priority number must be between 1 and 20");
int pos = 0;
int k = 0;
int i = 1;
int j = 0;
LinkedList nlist = new LinkedList();
if (this==null){
addLast(s);
addLast(p);
System.out.println(this);
}
}
else {
while (i<size()){
int x = Integer.valueOf(get(i).toString());
if (p > x) pos = 1;
else if (p==x){
pos = 0;
break;
}
else if (p < x) {
pos = -1;
break;
}
}
if (pos==1){
addLast(s);
addLast(p);
}
if (pos==-1||pos==0){
for (k=0; k<(i-1); k++) nlist.add(j, get(j));
nlist.addLast(s);
nlist.addLast(p);
for (k=k+1 ; k<size(); k++) nlist.add(get(k));
}
}
}
}
这是拒绝将 2 个新对象添加到列表中的主文件:
public class Main {
public static void main(String[] args) {
PQ list = new PQ();
list.addtopq("first", 1);
System.out.println(list);
}
我在输出中得到 [] 而不是我想要的 [first, 1]。我需要在 PQ 类中创建构造函数吗?