13

Im a beginner to Java and I'm trying to create an array of a custom class. Let say I have a class called car and I want to create an array of cars called Garage. How can I add each car to the garage? This is what I've got:

car redCar = new Car("Red");
car Garage [] = new Car [100];
Garage[0] = redCar;
Kai
  • 38,030
  • 14
  • 90
  • 102
Dangerosking
  • 428
  • 3
  • 11
  • 22
  • 3
    Naming conventions: variables start with lower case and objects with upper case: `Car redCar = ...`, `Car[] garage = ...`, `garage[0]` etc. – assylias May 01 '12 at 16:00

3 Answers3

27

If you want to use an array, you have to keep a counter which contains the number of cars in the garage. Better use an ArrayList instead of array:

List<Car> garage = new ArrayList<Car>();
garage.add(redCar);
Petar Minchev
  • 45,963
  • 11
  • 102
  • 118
11

The array declaration should be:

Car[] garage = new Car[100];

You can also just assign directly:

garage[1] = new Car("Blue");
CodeClown42
  • 10,872
  • 1
  • 30
  • 63
6

If you want to create a garage and fill it up with new cars that can be accessed later, use this code:

for (int i = 0; i < garage.length; i++)
     garage[i] = new Car("argument");

Also, the cars are later accessed using:

garage[0];
garage[1];
garage[2];
etc.
Pat Murray
  • 3,825
  • 6
  • 25
  • 32