2012-05-01 14 views
10

Soy un principiante de Java y estoy tratando de crear una matriz de una clase personalizada. Digamos que tengo una clase llamada auto y quiero crear una serie de autos llamada Garage. ¿Cómo puedo agregar cada auto al garaje? Esto es lo que tengo:Agregar un objeto a una matriz de una clase personalizada

car redCar = new Car("Red"); 
car Garage [] = new Car [100]; 
Garage[0] = redCar; 
+2

Convenciones de nombres: las variables comienzan con minúsculas y objetos con mayúsculas: 'coches redCar = ...', 'coches [] = garaje ... ',' garage [0] 'etc. – assylias

Respuesta

18

Si desea utilizar una matriz, usted tiene que mantener un contador que contiene el número de coches en el garaje. Mejor usar un ArrayList en lugar de matriz:

List<Car> garage = new ArrayList<Car>(); 
garage.add(redCar); 
+1

¿Y cómo puedo obtener un automóvil en particular en el garaje? ¿Cómo puedo obtener el primer automóvil agregado? – Dangerosking

+0

+1 para la sugerencia de lista :). El siguiente paso sería implementar 'equals()' y 'hashCode()' y usar 'Set ' (ya que puede no tener mucho sentido que exactamente el mismo auto esté en el garaje dos veces :)). – Thomas

+0

@Dangerosking - Use 'garage.get (0)' –

9

La declaración de matriz debe ser:

Car[] garage = new Car[100]; 

Usted también puede simplemente asignar directamente:

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

Si desea crear un garaje y llénelo con los autos nuevos a los que se puede acceder más tarde, use este código:

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

Además, los coches están más adelante acceder mediante:

garage[0]; 
garage[1]; 
garage[2]; 
etc. 
Cuestiones relacionadas