簡體   English   中英

來自另一個類的Java鏈表訪問

[英]java linked list access from another class

這段代碼很好用,但是我需要能夠通過調用方法或其他方法從另一個類中添加某種類型的汽車,我對Java真的很陌生,我猜想它確實很容易解決,但是我環顧四周嘗試了幾件事卻沒有任何運氣。 因此,例如,名為addCar的類可以在main方法中或者如果我需要將列表放在單獨的類中來訪問鏈接列表。

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());}
    }
}

您可以將LinkedList<String> cars聲明為該類的成員,然后定義一個方法,在其中可以在其中添加具有參數的字符串,例如

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

您可以創建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() )並訪問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());}
        }
    }
}

您可以執行以下操作:

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]
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM