Java 链表数组

Java 链表数组,java,arrays,linked-list,Java,Arrays,Linked List,所以我一直试图自己解决这个问题,但我没有找到足够的信息 在下一段代码中,有一个函数接收 链表(整数),数组是正方形的表示形式 内部有黑白方块(1=白色,0=黑色),格式为 是下一个:链表的第一个节点是白色的,每个 下一个节点是上一个节点的相反颜色。例如,如果 正方形是:白色->白色->白色->黑色->白色->黑色-> 黑色链接列表将为3->1->1->2->null(如果有 它们在链接列表中汇总的连续颜色(如前所示)。所以 我的代码是下一个: publicstaticint[]restorePi

所以我一直试图自己解决这个问题,但我没有找到足够的信息

在下一段代码中,有一个函数接收 链表(整数),数组是正方形的表示形式 内部有黑白方块(1=白色,0=黑色),格式为 是下一个:链表的第一个节点是白色的,每个 下一个节点是上一个节点的相反颜色。例如,如果 正方形是:白色->白色->白色->黑色->白色->黑色-> 黑色链接列表将为3->1->1->2->null(如果有 它们在链接列表中汇总的连续颜色(如前所示)。所以 我的代码是下一个:


publicstaticint[]restorePicture(LinkedList[]linked\u列表)
{
布尔黑=假;
int[]Input=newint[(linked_list.length)];
对于(int k=0;k0;z--)
输入[j++][i]=1;
黑色=真;
}
如果(黑色==真)
{
对于(int x=(int)链表[i]。获取(j);x>0;x--)
输入[j++][i]=0;
黑色=假;
}
}
}
for(int i=0;i

我假设您使用一个简单的LinkedList而不是LinkedList数组调用方法“restorePicture”。 这就是为什么你会出错

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

由于未指定LinkedList的类型,因此必须将参数定义更改为,因此会收到警告

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

publicstaticint[]restorePicture(LinkedList[]linked\u列表)
要创建LinkedLIst的新数组,必须编写

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

我假设您使用一个简单的LinkedList而不是LinkedList数组调用方法“restorePicture”。 这就是为什么你会出错

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

由于未指定LinkedList的类型,因此必须将参数定义更改为,因此会收到警告

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

publicstaticint[]restorePicture(LinkedList[]linked\u列表)
要创建LinkedLIst的新数组,必须编写

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


为什么不向我们显示整个错误?另外,缩进代码请格式化代码。是否有类声明?函数前类似“public class Test{”的内容?public static int[]restorePicture(LinkedList[]linked_list)现在尝试删除2d int数组中
linked_list.length
周围的括号。为什么不显示整个错误?另外,缩进代码请格式化代码。是否有类声明?类似于函数前的“公共类测试{”?公共静态int[]restorePicture(LinkedList[]linked_列表)现在,请尝试删除2d int数组中链接列表.length
周围的括号。我没有任何错误,现在只是一个警告。我不太确定你所说的是什么意思。我认为操作代码总是抛出
边界外异常
,因为在内部循环中,他确实是
j++
twiceThanks man,最后一个小问题例如,如果我要初始化一个链表数组,例如:LinkedList linked_list[]=new LinkedList[input.length]();由于这是错误的,正确的写入方式是什么,thanks@Boris
@SuppressWarnings({“unchecked”})LinkedList[]list=new LinkedList[length];
是正确的方法。@Boris是句子”欢迎使用java泛型"指向java,这是设计上的一个失败-你的问题很好。我没有任何错误,现在只是一个警告。我不太确定你所说的是什么意思。我认为OP代码总是会抛出
边界外异常
,因为在内部循环中,他确实是
j++
twiceThanks man,如果我愿意的话,这是最后一个小问题初始化一个链表数组,例如:LinkedList linked_list[]=new LinkedList[input.length]();正确的写入方法是什么,因为这是错误的,thanks@Boris
@SuppressWarnings({“unchecked”})LinkedList[]list=new LinkedList[length];
是正确的方法。@Boris一句话“欢迎使用java泛型”指向java,这是设计上的一个失败——你的问题很好。