链接列表Java数组

时间:2015-12-17 07:09:01

标签: java arrays linked-list

所以我一直在努力解决这个问题,但我没有找到足够的信息。

  

在下一个代码中,有一个接收a数组的函数   链表(Integer),数组是方形的表示   内部有黑色和白色方块(1 =白色,0 =黑色),格式   是下一个:链表的第一个节点是白色,每个   下一个节点是最后一个节点的相反颜色。例如,如果   square是:white - >白色 - >白色 - >黑色 - >白色 - >黑色 - >   黑色链表将是3 - > 1 - > 1 - > 2 - > null(如果有的话)   如前所述,它们在链表中总结的连续颜色)。所以   我的代码是下一个:

public static int[][] restorePicture (LinkedList[] linked_list) 
{
    boolean black = false;
    int[][] Input = new int [(linked_list.length)][];

    for(int k = 0; k < linked_list.length; k++)
        Input[k] = new int[linked_list[k].size()];

    for(int i = 0;i < linked_list.length; i++)
    {
        black = false; 
        int j = 0;
        while(linked_list[i].get(j) != linked_list[i].getLast())
        {
            if(black == false)
            {
                for(int z = (int) linked_list[i].get(j); z > 0 ;z--)
                    Input[j++][i] = 1;

                black = true;
            }

            if(black == true)
            {
                for(int x = (int) linked_list[i].get(j); x > 0 ;x--)
                    Input[j++][i] = 0;

                black = false;
            }
        }
    }

    for(int i = 0; i < Input.length; i++)
        for(int j = 0; j < Input[j].length; j++)
            System.out.println(Input[i][j]);

    return Input;
}

enter image description here

1 个答案:

答案 0 :(得分:3)

我假设您调用方法&#39; restorePicture&#39;使用简单的LinkedList而不是LinkedList的数组。 这就是你得到错误的原因。

检查代码中第10行的方法调用。在Eclipse中编译错误语句非常安静。

您收到的警告是因为您没有指定LinkedList的类型,因此您必须将参数定义更改为。

public static int[][] restorePicture (LinkedList<Integer>[] linked_list) 

要创建一个新的LinkedLIst数组,您必须编码

LinkedList<Integer>[] linked_list = new LinkedList[input.length];