Numéro de l'itération à travers ArrayLists

J'ai deux questions. J'ai ici un objet de type ArrayList, et pour ce cas, nous allons l'appeler "Car".

J'ai fait 2 d'entre eux:

Car car1 = new Car();
Car car2 = new Car();

J'ai une fonction pour ajouter des éléments à ces objets car:

car1.addPart("Front Wheels");
car1.addPart("Rear Wheels");
car1.addPart("Rear View Mirror");

car2.addPart("Rims");
car2.addPart("Steering Wheel");
car2.addPart("Bumper");

J'ai besoin d'avoir une fonction appelée sameContents() que je peux faire appel à car1:

car1.sameContents(car2);

qui passe dans un objet de type ArrayList et vérifie avec car1 pour voir si ils ont le même contenu et le même ordre.

public boolean sameContents(Car c) {
    ArrayList<String> other_car = c; //error: Type mismatch: 
                                    //cannot convert from Car to ArrayList<String>

    for (String c : this.parts) {
        System.out.println(c);
        for(String oc : other_car) { 
             //stuff
        }
    }
}

Il me semble avoir toutes sortes de problèmes avec celui-ci. Je ne peux pas obtenir le other_car variable à être utilisé dans une boucle foreach.


Le second qui doit être fait est transferContents.

Il est appelé comme:

car1.transferContents(car2); 

qui transfère les éléments de car2 en car1, puis les feuilles car2 vide. Je n'arrive pas à obtenir le ArrayList à travailler à nouveau dans une boucle foreach qui est, je pense, ce dont j'ai besoin.

 public void transfer(Car c) {
     //code for transfer method.
     //this.parts is the arraylist of car parts
     for (Car c: c) {
    this.parts.add(c);
      }
    //not sure how to set car2 to empty...
 }
Ok... et... quelle est votre question? Que fais-tu si loin? Qu'avez-vous essayé?
Quelle erreur avez-vous à partir de 'sameContents" la méthode exacte de la trace de la pile. Si il nullpointer exception puis aussi nous montrer comment est le paramètre C peuplée avant, il est passé en. Pourquoi êtes-vous en boucle".parties".
Ok c'est parce que other_car a 'Voiture' objets 'String' objets.Le changement "(Chaîne oc : other_car) " à " (Voiture oc : other_car)'
n'a pas de sens "other_car a 'Voiture' objets pas de Chaîne..." nous n'avons toujours aucune idée de ce qu'est une Voiture de classe, à ce qu'elle s'étend, ou ce qu'il contient.
Plein D'Anguilles Oui je suis d'accord. Drew, votre question a le potentiel pour être très délicieux, ce qui fait partie de la raison pour laquelle beaucoup d'entre nous sont ici 🙂 mais comme Hover dit nous avons besoin de l'image complète. J'ai d'abord pensé à votre voiture objet a le tableau, mais le lire à nouveau, je vous ai trouvé, dit-il, est le tableau. Veuillez ajouter l'ensemble de la classe de voiture ici. Est-il étendre ArrayList?

OriginalL'auteur Drew Bartlett | 2011-09-19