Cómo imprimir una ArrayList en Java
-
Imprimir Arraylist en Java usando el bucle
for
-
Imprimir la ArrayList en Java usando
forEach
- Imprimir la ArrayList en Java usando IDs
-
Imprimir ArrayList en Java usando el comando
toString()
En este artículo, repasaremos varias formas de imprimir una ArrayList en Java. Nuestro Arraylist contendrá un objeto de clase llamado ModelClass
, que tiene una variable name
y funciones getter/setter
.
Imprimir Arraylist en Java usando el bucle for
Podemos imprimir los objetos de Java ArrayList usando un bucle. Aquí, usamos el bucle for
para pasar por cada objeto ModelClass
dentro de modeList
y llamamos a la función getName()
, que devuelve el nombre.
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<ModelClass> modelList;
ModelClass m1 = new ModelClass();
ModelClass m2 = new ModelClass();
ModelClass m3 = new ModelClass();
m1.setName("Sam");
m2.setName("Kevin");
m3.setName("Gwen");
modelList = new ArrayList<ModelClass>();
modelList.add(m1);
modelList.add(m2);
modelList.add(m3);
for (int i = 0; i < modelList.size(); i++) {
System.out.println(modelList.get(i).getName());
}
}
}
class ModelClass {
private String name;
void setName(String name) {
this.name = name;
}
String getName() {
return name;
}
}
Resultado:
Sam
Kevin
Gwen
Imprimir la ArrayList en Java usando forEach
En Java, cada ArrayList tiene un método forEach
, que es una de las formas más simples de hacer un bucle de todos los elementos como el bucle for
. Como en el ejemplo anterior, podemos obtener los nombres de ModelClass
usando el método getName()
.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.function.Consumer;
public class Main {
public static void main(String[] args) {
ArrayList<ModelClass> modelList;
ModelClass m1 = new ModelClass();
ModelClass m2 = new ModelClass();
ModelClass m3 = new ModelClass();
m1.setName("Sam");
m2.setName("Kevin");
m3.setName("Gwen");
modelList = new ArrayList<ModelClass>();
modelList.add(m1);
modelList.add(m2);
modelList.add(m3);
modelList.forEach(new Consumer<ModelClass>() {
@Override
public void accept(ModelClass modelClass) {
System.out.println(modelClass.getName());
}
});
}
}
class ModelClass {
private String name;
void setName(String name) {
this.name = name;
}
String getName() {
return name;
}
}
Resultado:
Sam
Kevin
Gwen
Imprimir la ArrayList en Java usando IDs
A cada elemento de la ArrayList se le da un ID único para identificarlo; podemos obtenerlo si imprimimos la ArrayList sin usar ningún método como toString()
. Imprimirá la ArrayList en bruto con los ID del elemento, que se puede ver en la salida del ejemplo:
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<ModelClass> modelList;
ModelClass m1 = new ModelClass();
ModelClass m2 = new ModelClass();
ModelClass m3 = new ModelClass();
m1.setName("Sam");
m2.setName("Kevin");
m3.setName("Gwen");
modelList = new ArrayList<ModelClass>();
modelList.add(m1);
modelList.add(m2);
modelList.add(m3);
System.out.println(modelList);
}
}
class ModelClass {
String name;
void setName(String name) {
this.name = name;
}
}
Resultado:
[ModelClass@682a0b20, ModelClass@3d075dc0, ModelClass@214c265e]
Imprimir ArrayList en Java usando el comando toString()
El último método de esta lista es anular un método toString()
dentro de la ModelClass
. Esta función devolverá el name
cuando lo llamemos usando ModelClass
. Ten en cuenta que este proceso sólo puede devolver valores de cadena, como está implícito en su nombre.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.function.Consumer;
public class Main {
public static void main(String[] args) {
ArrayList<ModelClass> modelList;
ModelClass m1 = new ModelClass();
ModelClass m2 = new ModelClass();
ModelClass m3 = new ModelClass();
m1.setName("Sam");
m2.setName("Kevin");
m3.setName("Gwen");
modelList = new ArrayList<ModelClass>();
modelList.add(m1);
modelList.add(m2);
modelList.add(m3);
System.out.println(modelList.toString());
}
}
class ModelClass {
private String name;
void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "ModelClass{"
+ "name='" + name + '\'' + '}';
}
}
Resultado:
[ModelClass{name='Sam'}, ModelClass{name='Kevin'}, ModelClass{name='Gwen'}]
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn