Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中传递链表?_Java_Arrays_Linked List - Fatal编程技术网

如何在Java中传递链表?

如何在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

我很难理解如何将linkdlist传递到将该列表显示为堆栈的方法中。我知道我没有指定列表的类型,但我的导师说,这与此无关。但我仍在学习,因此我不确定是否正确地将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
//将链表显示为堆栈
公共链接列表二(卫理公会){

对于(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<>();