|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2009
Messaggi: 85
|
[JAVA] Classe Car+ Collection
Ciao ragazzi, ho bisogno di aiuto, è da ieri che mi sono bloccato in questa classe.
Codice:
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());
}
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!!! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
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.
Codice:
for (CarElement element : car) {
...
}
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2009
Messaggi: 85
|
Scusa ma non conosco bene questa interfaccia...
Come funziona? Non capisco come mettere l'iteratore su Car... Qualcosa tipo: Iterator iteraror=car.iterator(); ??? Ultima modifica di ectobsidian : 28-11-2013 alle 17:51. |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Sep 2009
Messaggi: 85
|
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!!! Ultima modifica di ectobsidian : 29-11-2013 alle 14:41. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:27.



















