gpt4 book ai didi

java - 将返回值添加到 arrayList Java

转载 作者:行者123 更新时间:2023-12-01 15:07:03 25 4
gpt4 key购买 nike

我迷失在代码中。我正在尝试将返回值添加到 ArrayList 中。返回的值被打印出来,我尝试对其进行转换,以便可以将其添加到 ArrayList 中。但似乎没有任何效果。

我在 public void getHeap() 中,希望从 public double remove() 检索 return 值以添加到 ArrayList 中。它不断告诉我找不到源。有什么帮助吗?

谢谢!

public class MinHeap<E extends Comparable<E>> {

List<E> h = new ArrayList<E>();
ArrayList<Double> arrayPostingsList = new ArrayList<Double>();

public void getHeap() {
MinHeap<Double> heap = new MinHeap<Double>(new Double[]{0.5015530788463572, 0.5962770626486013, 0.4182157748994399});

ArrayList<Double> newArray = new ArrayList<Double>();
System.out.println();


while (!heap.isEmpty()) {
System.out.println(heap.remove());
newArray.add(heap.remove());
}

}

public double remove() {
E removedNode = h.get(0);
E lastNode = h.remove(h.size() - 1);
percolateDown(0, lastNode);

return (Double) removedNode;
}

public MinHeap() {
}

public MinHeap(E[] keys) {
for (E key : keys) {
h.add(key);
}

for (int k = h.size() / 2 - 1; k >= 0; k--) {
percolateDown(k, h.get(k));
}
}

public void add(E node) {
h.add(null);
int k = h.size() - 1;
while (k > 0) {
int parent = (k - 1) / 2;
E p = h.get(parent);
if (node.compareTo(p) >= 0) {
break;
}
h.set(k, p);
k = parent;
}
h.set(k, node);
}

public E min() {
return h.get(0);
}

public boolean isEmpty() {
return h.isEmpty();
}

void percolateDown(int k, E node) {
//....
}
}

最佳答案

尝试使用这个:

public E remove() {
E removedNode = h.get(0);
E lastNode = h.remove(h.size() - 1);
percolateDown(0, lastNode);
return removedNode;
}

另外,我认为 arrayPostingList 应该是 E 类型,而不是明确的 Double

关于java - 将返回值添加到 arrayList Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12832062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com