java Iterable作为返回类型为我带来了一些错误
import java.util.AbstractList;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.List;
import java.util.PriorityQueue;
import java.util.Queue;
import java.lang.Iterable;
public class Iterable<Integer> mergeKSortedIterators(List<Iterator<Integer>> Iters){
Queue<newIter> minHeap = new PriorityQueue<newIter>();
AbstractList<Integer> result = new ArrayList<Integer>();
for(Iterator<Integer> iter : Iters){
if(iter.hasNext()){
minHeap.add(new newIter(iter.next(), iter));
}
}
while(!minHeap.isEmpty()){
newIter newiter = minHeap.poll();
result.add(newiter.getValue());
if(newiter.hasNext()){
minHeap.add(newiter);
}
}
return result;
}
class newIter implements Comparable<newIter>{
private Integer value;
private Iterator<Integer> iter;
public newIter(Integer val, Iterator<Integer> it){
this.value = val;
this.iter = it;
}
public Integer getValue(){
return this.value;
}
public boolean hasNext(){
if(iter.hasNext()){
value = iter.next();
return true;
}
return false;
}
public int compareTo(newIter a){
return value - a.getValue();
}
}
我试图消除所有语法错误,但这一行仍然有来自eclipse的红色卷曲线:
公共类Iterable Mergeksortedirators(列表>;ITER){
还有这句话:
" return value - a.getValue();"
谁能给我点启发吗?非常感谢
# 1 楼答案
类规范不正确。 mergelSortedIterators是一种方法