如何在Java中传递链表



我很难理解如何将链接列表传递到显示该列表作为堆栈的方法中。我知道我没有指定列表的类型,但我的导师说这对这个目的无关紧要。但我仍在学习,所以我不确定我是否将linkedlist正确地传递到方法中。

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

您对该方法的调用是正确的。方法本身就是问题所在。你需要指定传递给你的方法的对象的类型。

public LinkedList<String> methodTwo(LinkedList<String> aList){
    ...
}

您还需要在尖括号中指定LinkedList的类型,如上所示。这包括当你在传递列表之前创建列表。

LinkedList<String> aList = new LinkedList<>();

第二对尖括号可以为空,如上所示。

这是正确的。在java中,对象是通过引用传递的(除了基本类型),所以你可以在传递给methodTwo的列表上执行所有的操作。

请参考这篇文章的解释

是Java "pass-by-reference"或"pass-by-value" ?

话虽如此,您没有任何类型与您的List对象相关联,因此您需要指定它。

所以像

public void methodTwo(LinkedList<String> aList){
 for(int i = aList.size; i <= 0; i--)
 {
    System.out.println(aList.get(i));
 }
 }//end 

我有返回类型为void,因为这是所有需要的,如果你只需要显示目的的methodTwo

,你还需要声明为

LinkedList<String> aList = new ArrayList<String>();

相关内容

  • 没有找到相关文章

最新更新