Comment imprimer l'élément "e" dans la liste "arraylist"?imprimer élément d'arraylist?
ArrayList<Dog> list = new ArrayList<Dog>();
Dog e = new Dog();
list.add(e);
System.out.println(list);
Comment imprimer l'élément "e" dans la liste "arraylist"?imprimer élément d'arraylist?
ArrayList<Dog> list = new ArrayList<Dog>();
Dog e = new Dog();
list.add(e);
System.out.println(list);
Voulez-vous imprimer la liste complète ou vous souhaitez parcourir chaque élément de la liste? De toute façon pour imprimer quelque chose de significatif votre classe Dog
besoin de remplacer la méthode toString()
(comme mentionné dans d'autres réponses) de la classe Object
pour retourner un résultat valide.
public class Print {
public static void main(final String[] args) {
List<Dog> list = new ArrayList<Dog>();
Dog e = new Dog("Tommy");
list.add(e);
list.add(new Dog("tiger"));
System.out.println(list);
for(Dog d:list) {
System.out.println(d);
// prints [Tommy, tiger]
}
}
private static class Dog {
private final String name;
public Dog(final String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
}
}
La sortie de ce code est:
[Tommy, tiger]
Tommy
tiger
Votre code exige que la classe a Dog
substituée la méthode toString()
pour qu'il sache comment s'imprimer. Sinon, votre code semble correct.
assurez-vous que Dog
classe implémente la méthode public String toString()
puis utilisez
System.out.println(list.get(index))
où l'indice est la position dans la liste. Bien sûr, puisque vous fournissez votre implémentation, vous pouvez décider comment le chien s'imprime.
Vous devez remplacer la méthode toString()
dans votre classe Dog
. qui sera appelée lorsque vous utiliserez cet objet dans sysout.
Voici une solution mise à jour pour Java8, en utilisant lambdas et cours d'eau:
System.out.println(list.stream()
.map(Object::toString)
.collect(Collectors.joining("\n")));
Ou, sans se joindre à la liste dans une grande chaîne:
list.stream().forEach(System.out::println);
Impression d'un élément spécifique est
list.get(INDEX)
Je pense que le meilleur moyen d'imprimer la liste entière en une seule fois et cela permettra également d'éviter de mettre un boucle
Arrays.toString (list.toArray())
Si vous souhaitez imprimer un ArrayList avec des nombres entiers, comme un exemple, vous pouvez utiliser le code ci-dessous.
class Test{
public static void main(String[] args){
ArrayList<Integer> arraylist = new ArrayList<Integer>();
for(int i=0; i<=10; i++){
arraylist .add(i);
}
for (Integer n : arraylist){
System.out.println(n);
}
}
}
la sortie est au-dessus de code:
0
1
2
3
4
5
6
7
8
9
10
System.out.println (e); –