作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经实现了具有泛型类型的 SortedLinkedList,但任务之一是创建一个 toArray
方法,该方法采用 T[]
数组并用以下元素填充它链接列表。为此,我想我应该创建一个 get() 方法,该方法返回该点的 Node 值,并用这些值填充数组。不幸的是,我遇到了 IndexOutofBoundsExceptions,并且不确定我的问题到底在哪里。如果有人可以提供帮助,我们将不胜感激!
我的获取
方法:
public T get(int i) throws IndexOutOfBoundsException {
Node<T> n = head;
if (i < 0)
throw new IndexOutOfBoundsException();
if(i==0)
return head.element;
while(n != null && i > 0){
n = n.next;
i--;
}
if (n == null)
throw new IndexOutOfBoundsException();
return n.element;
}
还有我的 toArray
方法:
public T[] toArray(T[] array){
int len = this.size();
//T[] copy = (T[]) new Comparable[len];
for (int i = 0; i < len; i++){
array[i] = this.get(i);
}
return array;
}
编译器在 array[i] = this.get(i)
处提示 OutOfBoundsException,我真的不明白为什么。任何帮助将不胜感激,如果需要,我很乐意提供更多的 SortedList 代码。谢谢!
最佳答案
我所说的单循环是这个伪代码
T array
index = 0
Node node -> point to linked list head
Iterate until node is null:
array[index] = node.element
node -> point to next element
index++
关于java - 如何为泛型 SortedLinkedList 创建泛型类型 T 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59255502/
我是一名优秀的程序员,十分优秀!