PDA

View Full Version : [JAVA] Classe Car+ Collection


ectobsidian
28-11-2013, 17:45
Ciao ragazzi, ho bisogno di aiuto, č da ieri che mi sono bloccato in questa classe.

class Car implements CarElement {
ArrayList<CarElement>lista=new ArrayList<CarElement>();

public Car() {
//create new ArrayList of CarElement
this.lista = new ArrayList<CarElement>();
lista.add(new Wheel("front left"));
lista.add(new Wheel("front right"));
lista.add(new Wheel("back left"));
lista.add(new Body());
lista.add(new Engine());
}

La classe Car č in pratica composta da CarElement che č un'interfaccia e ha le classi concrete Body,Engine,Wheel.
Il problema č che devo poter scorrere l'oggetto Car che č una lista di CarElement.
Mi servirebbe un metodo magari statico che dato un oggetto di tipo Car me lo trasformi in una Collection che contiene 6 oggetti (4 oggetti di tipo Wheel, 1 Body e 1 Engine).
In sostanza da un oggetto Car devo poter ottenere una Collection...
Perchč mi serve per fare una roba, con un pattern...
Cmq con questo metodo dovrei risolvere...
Vi prego aiutatemi!!!

VICIUS
28-11-2013, 17:52
Implementa l'interfaccia Iterable<CarElement> e ritorna un iteratore a partire dalla lista. In questo modo puoi scorrere il contenuto di una macchina con un for in questo modo.
for (CarElement element : car) {
...
}

ectobsidian
28-11-2013, 18:01
Scusa ma non conosco bene questa interfaccia...
Come funziona?
Non capisco come mettere l'iteratore su Car...
Qualcosa tipo:
Iterator iteraror=car.iterator();
???

ectobsidian
29-11-2013, 11:43
Rettifico:
Ho risolto tuttoooo!!! Era pių facile del previsto.
Ho fatto un metodo stupido che fa cosė:

public ArrayList<CarElement> getLista() {
return this.lista;
}

Mi stavo andando a complicare la vita per niente...Cosė quando ho una Car faccio questo metodo e quindi ho la collection che volevo!

Grazie cmq!!!