Crie uma classe com uma lista de objetos de natureza arbitrária (qualquer classe). A classe inclui um método chamado
PrintList
com um parâmetro booleano. O método exibe elementos de lista pares ou ímpares no console, dependendo do valor do parâmetro (verdadeiro ou falso).
- Construindo uma classe genérica
- Declare um ArrayList com um tipo paramétrico (crie uma lista)
- Crie um método que preencha a lista com dados
- Crie um método que imprima valores pares ou ímpares
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());
}}}
}
Eu crio um objeto da classe PrintList
, mas com uma classe concreta String
em vez de um tipo paramétrico. Estou preenchendo a lista. Será composto por 10 linhas. E agora plS.printList(true)
, se , linhas pares serão exibidas. E se plS.printList(false)
, então estranho.
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);
Então eu crio um objeto da classe, PrintList
mas em vez disso String
ele é usado Integer
e valores ímpares são gerados.
PrintList<Integer> plI = new PrintList<Integer>();
for (int i = 0; i < 10; i++){
plI.add(i);
}
plI.printList(false);
}
GO TO FULL VERSION