Java 如何将此代码从单链表复制到数组而不是数组列表
我正在编写将单个LinkedList转换为数组的代码 我的代码将其转换为“ArrayList”,而不是普通的数组int[]Java 如何将此代码从单链表复制到数组而不是数组列表,java,arrays,arraylist,linked-list,Java,Arrays,Arraylist,Linked List,我正在编写将单个LinkedList转换为数组的代码 我的代码将其转换为“ArrayList”,而不是普通的数组int[] 您不能使用列表api中提供的内置toArray函数吗 简单,试试看 Integer[] array = linkedlist.toArray(new Integer[linkedlist.size()]); 是什么阻止你编写其他代码?当我创建一个新数组时,我不能为元素创建一个副本。你这是什么意思?试一试的代码在哪里?请将所有这些信息添加到问题本身。那个代码有什么问题吗?请
您不能使用列表api中提供的内置toArray函数吗 简单,试试看
Integer[] array = linkedlist.toArray(new Integer[linkedlist.size()]);
是什么阻止你编写其他代码?当我创建一个新数组时,我不能为元素创建一个副本。你这是什么意思?试一试的代码在哪里?请将所有这些信息添加到问题本身。那个代码有什么问题吗?请注意,如果有任何元素为null,循环将抛出NullPointerException。@AndyTurner-huh?我刚测试过。如果没有元素,它不会抛出NPE。仅当列表本身或数组本身为空时才可以使用list linkedlist=Arrays。asList1,2,null,3;或者只是linkedlist.addnull;看看安迪指的是什么。如果链接的lsit本身包含null作为元素,您将得到一个NPE。@OhGodspides@Andy Turner感谢您的澄清!我将int改为Integer,这样当它尝试取消装箱时不会抛出NPE。
Integer[] array = linkedlist.toArray(new Integer[0]);
for (Integer i : array) {
System.out.println(i);
}
Integer[] array = linkedlist.toArray(new Integer[linkedlist.size()]);