2017-04-08 21 views
0

這段代碼工作的很好,但我需要通過調用方法或其他類來添加另一個類的汽車類型,我對Java真的很陌生,我猜它真的很容易修復,但我看了一下,嘗試了幾件事,沒有任何運氣。因此,例如,一個名爲addCar的類可以在main方法中訪問鏈表,或者如果我需要將列表放入單獨的類中。來自另一個類的java鏈接列表訪問

public static void main(String[] args) { 
    LinkedList<String> cars; 
    cars = new LinkedList<>(); 
    cars.add("SUV"); 
    Iterator<String> itr = cars.iterator(); 
    while (itr.hasNext()) { 
     System.out.println(itr.next());} 
    } 
} 

回答

0

您可以創建Car類作爲如下所示:

public class Car { 

    private LinkedList<String> cars = new LinkedList<>(); 

    public void addCar(String car) { 
     cars.add(car); 
    } 

    public Iterator<String> iterator() { 
     return cars.iterator(); 
    } 
} 

重要的一點是從上面的代碼中,已經定義了什麼是Car,但是您沒有創建任何汽車,即汽車物體。

所以,如果你要創建main()汽車內,你需要使用new運營商(如new Car())和訪問車內對象的方法(如addCar等),如下圖所示:

public class YourTestClass { 

    public static void main(String[] args) { 
     Car car = new Car(); 
     car. addCar("SUV"); 
     Iterator<String> itr = car.iterator(); 
     while (itr.hasNext()) { 
      System.out.println(itr.next());} 
     } 
    } 
} 
0

可以聲明LinkedList<String> cars爲類的成員,然後定義一個方法 那裏裏面你可以添加你的字符串作爲參數 像

public void addCar(String car){ 
    cars.add(car); 
} 
0

你可以做這樣的事情:

import java.util.LinkedList; 

public class Test { 
    static class SomeClass { 
     LinkedList<String> cars; 

     public SomeClass() { 
      cars = new LinkedList<>(); 
      cars.add("SUV"); 
     } 

     public void addType(String type) { 
      cars.add(type); 
     } 

     public LinkedList<String> getCars() { 
      return cars; 
     } 
    } 

    public static void main(String[] args) { 
     SomeClass someClass = new SomeClass(); 
     someClass.addType("Sedan"); 
     //or 
     someClass.getCars().add("Hatchback"); 
     System.out.println(someClass.getCars()); 
     //[SUV, Sedan, Hatchback] 
    } 
}