Java 从数组中反转linkedList
我正在尝试将反向链接列表从数组添加回链接列表Java 从数组中反转linkedList,java,linked-list,Java,Linked List,我正在尝试将反向链接列表从数组添加回链接列表 public void reverse(){ //Calling function to take a linked list and put it inside an array int[] myArray = this.toArray(); //Populate list using array for (int i= 0; i < myArray.length; i
public void reverse(){
//Calling function to take a linked list and put it inside an array
int[] myArray = this.toArray();
//Populate list using array
for (int i= 0; i < myArray.length; i++){
this.addHead(myArray[i]);
}
System.out.println(this.toString());
}
我希望得到的结果是调用我将从中获得的reverse()
[1,7,7,6]
链接到链接列表
6,7,7,1
不知道要实现什么,但是如果给出了初始列表,就不需要进行数组转换。您可以按照以下思路实现一些功能:
public <T> List<T> reverseList( List<T> list )
{
List<T> newList = new ArrayList<T>();
for( int i = 0; i < list.size(); i++ )
{
newList.add( list.get( list.size() - ( i + 1 ) ) );
}
return newList;
}
公共列表反向列表(列表列表)
{
List newList=newarraylist();
对于(int i=0;i
如果出于某种原因绝对需要数组,您可以类似地使用它。创建一个数组,通过反向索引顺序填充。可能错误在
addHead
方法中。我不理解第一句话中所述的目标:“我正在尝试将反向链接列表从数组添加回链接列表。”我想您正试图在自定义链接列表上实现反向()方法。我看不出阵列应该在这里扮演什么角色。
public <T> List<T> reverseList( List<T> list )
{
List<T> newList = new ArrayList<T>();
for( int i = 0; i < list.size(); i++ )
{
newList.add( list.get( list.size() - ( i + 1 ) ) );
}
return newList;
}