Java 从数组元素中提取键
假设我有一个由元素E组成的数组,每个元素都包含一个整数键和一些对象数据。 我想提取数组A的I元素的键,并与一些值进行比较,如Java 从数组元素中提取键,java,arrays,priority-queue,Java,Arrays,Priority Queue,假设我有一个由元素E组成的数组,每个元素都包含一个整数键和一些对象数据。 我想提取数组A的I元素的键,并与一些值进行比较,如 A[i].key>somevalue 问题是我不知道执行此比较的正确操作。 在我的程序中,我可以通过键入来访问元素的键 E.key A的i元素似乎是E元素,因此我认为第一个代码片段可以工作,但它不能 元素声明为 public class Element { public int key;
A[i].key>somevalue
问题是我不知道执行此比较的正确操作。
在我的程序中,我可以通过键入来访问元素的键
E.key
A的i元素似乎是E元素,因此我认为第一个代码片段可以工作,但它不能
元素声明为
public class Element {
public int key;
public Object data;
public Element(int i, Object o){
this.key = i;
this.data = o;
}
}
数组的构造函数
公共类PQHeap实现PQ{
//建造师
专用pq堆[]pq
public PQHeap(int maxElms){
pq = new PQHeap[maxElms];
}
...
某种方法
private void IncreaseKey(Element e){
if (e.key < pq[i].key){
System.out.println("new key is larger than current key");
}
private void IncreaseKey(元素e){
如果(e.key
例如,在带有if语句的行中,错误为“键无法解析或不是字段”
像pq.length这样的操作可以正常工作,而e.key本身也可以正常工作,数组声明为
PQHeap[] pq;
因此它不包含
元素
实例,而是PQHeap
实例属于PQHeap
类型,并且PQHeap
没有键
字段,因此存在编译错误。向我们展示变量是如何声明的,并准确地告诉我们它是如何工作的。您从编译器或运行时获得了准确的错误消息。将其粘贴到您的问题中。哦,非常感谢,我更改了PQHeap[]到元素[],现在似乎可以工作了。