Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从数组元素中提取键_Java_Arrays_Priority Queue - Fatal编程技术网

Java 从数组元素中提取键

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;

假设我有一个由元素E组成的数组,每个元素都包含一个整数键和一些对象数据。 我想提取数组A的I元素的键,并与一些值进行比较,如

   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[]到元素[],现在似乎可以工作了。