Java 数组方法到LinkedList方法的转换

Java 数组方法到LinkedList方法的转换,java,for-loop,arraylist,linked-list,Java,For Loop,Arraylist,Linked List,我在重写数组列表循环方法以使用LinkedList时遇到问题 以下是我到目前为止得到的信息: public static int[] stutter(LinkedList<Integer> noStutter) { int[] result = new int[5 * 2]; for (int i = 0; i < 5; i++) { result[2 * i] = noStutter[i];

我在重写数组列表循环方法以使用LinkedList时遇到问题

以下是我到目前为止得到的信息:

public static int[] stutter(LinkedList<Integer> noStutter) {
            int[] result = new int[5 * 2];

            for (int i = 0; i < 5; i++) {
                result[2 * i] = noStutter[i];
                result[2 * i + 1] = noStutter[i];
            }
            System.out.println("Stutter: " + Arrays.toString(result));
            return result;

        }
publicstaticint[]口吃(LinkedList-noStutter){
int[]结果=新的int[5*2];
对于(int i=0;i<5;i++){
结果[2*i]=noStutter[i];
结果[2*i+1]=noStutter[i];
}
System.out.println(“Stutter:+Arrays.toString(result));
返回结果;
}
这是原始数组列表

public static int[] stutter(int[] noStutter) {
        int[] result = new int[noStutter.length * 2];

        for (int i = 0; i < noStutter.length; i++) {
            result[2 * i] = noStutter[i];
            result[2 * i + 1] = noStutter[i];
        }
        System.out.println("Stutter: " + Arrays.toString(result));
        return result;
public static int[]口吃(int[]noStutter){
int[]结果=新的int[noStutter.length*2];
for(int i=0;i
for循环是个大问题。我似乎无法让索引正常工作。
任何帮助都将不胜感激!

使用
链接列表
请勿通过索引访问。也就是说速度慢

相反,请使用
迭代器

Iterator<Integer> iter = list.iterator();
for (int i = 0; iter.hasNext(); i+=2) {
    result[2*i] = iter.next();
    result[2*i + 1] = result[2*i]; // don't call next twice...
}
Iterator iter=list.Iterator();
对于(int i=0;iter.hasNext();i+=2){
结果[2*i]=iter.next();
result[2*i+1]=result[2*i];//不要调用next两次。。。
}

任何Java书籍或教程中都会讨论
Iterator
。它们是Java中最核心的概念/API之一。

使用
get(i)
方法访问值。不,不要在
LinkedList
结果[2*i]=iter.next()上使用
get(i)
抛出NullPointerException然后您可能没有初始化
iter
,或者您的列表可能包含
null
值(无法转换为
int
)。您需要自己调试;我没有完整的代码(另外,您需要学习调试)这实际上是为了结果。除了“=null”之外,我如何初始化结果呢
newint[list.size()*2]