Crea una clase con una lista de objetos de naturaleza arbitraria (cualquier clase). La clase incluye un método llamado
PrintList
con un parámetro booleano. El método muestra elementos de lista pares o impares en la consola, según el valor del parámetro (verdadero o falso).
- Construyendo una clase genérica
- Declarar un ArrayList con un tipo paramétrico (crear una lista)
- Crear un método que llene la lista con datos.
- Cree un método que imprima valores pares o impares
public class PrintList<T> {
private ArrayList<T> list = null;
public PrintList() {
list = new ArrayList<T>();
}
public void add(T data) {
list.add(data);
}
public void printList(boolean isOdd) {
int size = list.size();
if (isOdd) {
for (int i = 1; i < size; i += 2) {
System.out.println(list.get(i).toString());
}
} else{
for (int i = 0; i < size; i += 2) {
System.out.println(list.get(i).toString());
}}}
}
Creo un objeto de la clase PrintList
, pero con una clase concreta String
en lugar de un tipo paramétrico. Estoy completando la lista. Constará de 10 líneas. Y ahora, si plS.printList(true)
, se mostrarán líneas pares. Y si plS.printList(false)
, entonces es extraño.
public static void main(String[] args) {
PrintList<String> plS = new PrintList<String>();
for (int i = 0; i < 10; i++){
plS.add("" + i);
}
plS.printList(true);
Luego creo un objeto de la clase PrintList
solo que en su lugar String
se usa Integer
y se generan valores impares.
PrintList<Integer> plI = new PrintList<Integer>();
for (int i = 0; i < 10; i++){
plI.add(i);
}
plI.printList(false);
}
GO TO FULL VERSION