Comment obtenir une valeur dans un ArrayList java
Je suis en train d'essayer d'obtenir une valeur à partir d'une liste de tableaux. Voici un exemple de mon code:
public static void main (String [] args){
Car toyota= new Car("Toyota", "$10000", "300"+ "2003");
Car nissan= new Car("Nissan", "$22000", "300"+ "2011");
Car ford= new Car("Ford", "$15000", "350"+ "2010");
ArrayList<Car> cars = new ArrayList<Car>();
cars.add(toyota);
cars.add(nissan);
cars.add(ford);
}
public static void processCar(ArrayList<Car> cars){
//in heare i need a way of getting the total cost of all three cars by calling
// computeCars ()
System.out.println(cars.get());
}
révision
merci à tous pour les réponses, je devrais probablement ajouter le code un peu plus. dans la classe de Voiture, j'ai une autre méthode de calcul du coût total, y compris l'impôt.
class Car {
public Car (String name, int price, int, tax, int year){
constructor.......
}
public void computeCars (){
int totalprice= price+tax;
System.out.println (name + "\t" +totalprice+"\t"+year );
}
}
dans la classe principale
public static void processCar(ArrayList<Car> cars){
int totalAmount=0;
for (int i=0; i<cars.size(); i++){
cars.get(i).computeCars ();
totalAmount=+ ?? //in need to add the computed values of totalprice from the Car class?
}
}
Merci encore
source d'informationauteur blackStar
Vous devez vous connecter pour publier un commentaire.
En supposant que votre
Car
classe a une méthode de lecture pour le prix, vous pouvez simplement utiliseroù
i
est l'indice de l'élément.Vous pouvez également utiliser
Vous devez également renvoyer
totalprice
de votre fonction si vous avez besoin de stockerprincipal
Et modifier le
return
type de votre fonctionVous n'avez pas montré votre
Car
type, mais en supposant que vous voudriez le prix de la première voiture, vous pouvez utiliser:Noter que j'ai changé le nom de la liste de
car
àcars
- c'est un liste de voitures, pas un unique voiture. (J'ai changé le nom de la méthode dans une manière similaire.)Si vous voulez seulement la méthode pour traiter un unique voiture, vous devez modifier le paramètre de type
Car
:et ensuite appeler comme ceci:
Si vous ne laisser que le traitement de l'ensemble de la liste, il serait intéressant de généraliser le paramètre de
List<Car>
- il est peu probable que vous aurez vraiment besoin que c'est uneArrayList<Car>
.Vous faut donner un nom à votre liste
cars
au lieu decar
de sorte que son nom correspond à son contenu.Alors vous pouvez simplement dire
cars.get(0).getPrice()
. Et si votreCar
classe n'ont pas cette méthode mais, vous devez le créer.classe principale
classe de voiture
La liste peut contenir plusieurs éléments, de sorte que la méthode get prend un argument : l'indice de l'élément que vous souhaitez récupérer. Si vous voulez le premier, puis c'est 0.
La liste contient de Voiture instances, de sorte que vous avez à faire
ou tout simplement
La
car
variable devrait être nommécars
puisque c'est une liste et contient donc plusieurs voitures.Lire la tutoriel sur les collections. Et apprendre à utiliser le javadoc: toutes les classes et les méthodes sont documentées.
Si vous voulez obtenir les prix de toutes les voitures que vous avez à parcourir le tableau de la liste: