java中数组的链表

java中数组的链表,java,arrays,list,linked-list,Java,Arrays,List,Linked List,我试图在Java中将链表转换为数组,如下代码所示 import java.io.*; import java.util.*; public class LinkedLst { public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("input"); LinkedList<Integer>

我试图在Java中将链表转换为数组,如下代码所示

import java.io.*;
import java.util.*;

public class LinkedLst
{
    public static void main(String[] args) throws IOException
    {
        FileInputStream fis = new FileInputStream("input");
        LinkedList<Integer> ll = new <Integer>LinkedList();
        int c;
        while((c = fis.read())!=-1)
            ll.add(new Integer(c));
        Integer[] arr = ll.toArray(new Integer[ll.size()]);
        System.out.println(arr);
        fis.close();
    }
}
我可以编译,但在运行时出现以下错误

[Ljava.lang.Integer;@2098746b

有人能帮我写这段代码吗?

这不是一个错误,Java的设计者认为您可能希望打印数组:p

您需要打印
Arrays.toString(arr)
以获得正常的结果。或者你可以把它作为一个列表

顺便说一句,您读取的不是4字节
int
值,而是无符号字节(0-255)

如果您想以字节数组的形式读取文件,一个更简单的方法是这样做

FileInputStream fis = new FileInputStream("input");
byte[] bytes = new byte[fis.available()];
fis.read(bytes);
fis.close();

这将使用
LinkedList
将使用的内存的一小部分(约为1/40),并且速度更快。

错误是由于整数[]arr=ll.toArray(新整数[ll.size()]);代码行是一个错误还是代码工作并给出输出?不能打印这样的数组。我搜索了其他线程,但他们的解释并没有纠正我的错误
FileInputStream fis = new FileInputStream("input");
byte[] bytes = new byte[fis.available()];
fis.read(bytes);
fis.close();