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;
1
  • 3
    Naming conventions: variables start with lower case and objects with upper case: Car redCar = ..., Car[] garage = ..., garage[0] etc. Commented May 1, 2012 at 16:00

3 Answers 3

30

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);
Sign up to request clarification or add additional context in comments.

5 Comments

And how can I get a particular car in the garage? Like how do I get the first car added?
+1 for the list suggestion :). The next step would be to implement equals() and hashCode() and use a Set<Car> (since it might not make much sense for exactly the same car to be in a garage twice :) ).
@Dangerosking - Use garage.get(0)
"And how can I get a particular car in the garage?" docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html
Can the arraylist be used in a abstract class? Just like the array, I can create it but I can't add an object to it.
12

The array declaration should be:

Car[] garage = new Car[100];

You can also just assign directly:

garage[1] = new Car("Blue");

Comments

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.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.