¿Cómo imprimo el elemento "e" en la "lista" del arraylist?¿imprime el elemento del arraylist?
ArrayList<Dog> list = new ArrayList<Dog>();
Dog e = new Dog();
list.add(e);
System.out.println(list);
¿Cómo imprimo el elemento "e" en la "lista" del arraylist?¿imprime el elemento del arraylist?
ArrayList<Dog> list = new ArrayList<Dog>();
Dog e = new Dog();
list.add(e);
System.out.println(list);
¿Desea imprimir toda la lista o desea repetir cada elemento de la lista? De cualquier manera para imprimir cualquier cosa significativa, su clase Dog
necesita anular el método toString()
(como se menciona en otras respuestas) de la clase Object
para devolver un resultado válido.
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 salida de este código es:
[Tommy, tiger]
Tommy
tiger
Su código requiere que la clase Dog
ha anulado el método toString()
para que sepa cómo imprimir por sí mismo. De lo contrario, tu código parece correcto.
En primer lugar asegúrese de que Dog
clase implementa el método public String toString()
a continuación, utilizar
System.out.println(list.get(index))
donde el índice es la posición dentro de la lista. Por supuesto, desde que proporciona su implementación puede decidir cómo se imprime el perro.
Debe anular toString()
método en su clase Dog
. que se invocará cuando uses este objeto en sysout.
Aquí es una solución actualizada para Java8, el uso de lambdas y arroyos:
System.out.println(list.stream()
.map(Object::toString)
.collect(Collectors.joining("\n")));
O, sin unirse a la lista en una gran cadena:
list.stream().forEach(System.out::println);
Impresión de un elemento específico es
list.get(INDEX)
Creo que la mejor manera de imprimir toda la lista de una vez y esto también evitará poner un bucle
Arrays.toString (list.toArray())
Si desea imprimir un ArrayList con números enteros, como ejemplo se puede utilizar a continuación código.
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 salida está por encima de código:
0
1
2
3
4
5
6
7
8
9
10
System.out.println (e); –