如何在Java中传递链表?
我很难理解如何将linkdlist传递到将该列表显示为堆栈的方法中。我知道我没有指定列表的类型,但我的导师说,这与此无关。但我仍在学习,因此我不确定是否正确地将linkedlist传递到该方法中如何在Java中传递链表?,java,arrays,linked-list,Java,Arrays,Linked List,我很难理解如何将linkdlist传递到将该列表显示为堆栈的方法中。我知道我没有指定列表的类型,但我的导师说,这与此无关。但我仍在学习,因此我不确定是否正确地将linkedlist传递到该方法中 import java.util.LinkedList ; import java.util.ListIterator; public class UseStacksAndQueues{ public static void main(String[] args) { Stacks
import java.util.LinkedList ;
import java.util.ListIterator;
public class UseStacksAndQueues{
public static void main(String[] args) {
StacksAndQueues sQ = new StacksAndQueues();
String [] days = {"mon","tue","wed","thur","fri", "sat","sun"};
LinkedList aList = new LinkedList();
LinkedList newList = new LinkedList();
//load array of string objects into linked list
aList = sQ.methodOne(days);
//display linked list as a stack
sQ.methodTwo(aLits);
方法
//display a linked list as a stack
public LinkedList methodTwo(aList){
for(int i = aList.size; i <= 0; i--)
{
System.out.println(aList.get(i));
}
}//end method two
//将链表显示为堆栈
公共链接列表二(卫理公会){
对于(int i=aList.size;i,这是正确的。在java中,对象是通过引用传递的(除了基元类型),因此您将能够执行传递给methodTwo的列表上的所有操作
请参考这篇文章的解释
话虽如此,您没有与列表对象关联的任何类型,因此需要指定该类型
大概是
public void methodTwo(LinkedList<String> aList){
for(int i = aList.size; i <= 0; i--)
{
System.out.println(aList.get(i));
}
}//end
public void method2(LinkedList列表){
对于(int i=aList.size;i您对方法的调用是正确的。方法本身就是问题所在。您需要指定传递到方法中的对象的类型
public LinkedList<String> methodTwo(LinkedList<String> aList){
...
}
第二对尖括号可以是空的,如上图所示。这是Java 7中引入的快捷方式。除非您有另一个名为StacksAndQueues
的类,否则它应该是UseStacksAndQueues
,您肯定需要指定参数的类型。您不会编译的内容。只需添加数据类型即可well@AbtPst向什么添加数据类型?我指的是公共LinkedList methodTwo(LinkedList List){…}“在java中,对象通过引用传递”不准确否,我也在谈论对象。请参阅相关的post@AbtPst,也许更好的说法是“java是‘通过值传递引用’”.LinkedList不是接口。List是。继承自AbstractSequentialList
继承自AbstractList
。直接继承自AbstractList
。因此ArrayList
就像LinkedList
的叔叔一样。
public LinkedList<String> methodTwo(LinkedList<String> aList){
...
}
LinkedList<String> aList = new LinkedList<>();