Crea una classe con un elenco di oggetti di natura arbitraria (qualsiasi classe). La classe include un metodo chiamato
PrintList
con un parametro booleano. Il metodo visualizza sulla console gli elementi dell'elenco pari o dispari, a seconda del valore del parametro (vero o falso).
- Costruire una classe generica
- Dichiarare un ArrayList con un tipo parametrico (crea un elenco)
- Creare un metodo che riempia l'elenco con i dati
- Creare un metodo che stampi valori pari o dispari
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 oggetto della classe PrintList
, ma con una classe concreta String
anziché di tipo parametrico. Sto compilando la lista. Sarà composto da 10 righe. E ora se plS.printList(true)
, verranno visualizzate anche le linee. E se plS.printList(false)
, allora strano.
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);
Quindi creo un oggetto della classe PrintList
solo che invece String
viene utilizzato Integer
e vengono emessi valori dispari.
PrintList<Integer> plI = new PrintList<Integer>();
for (int i = 0; i < 10; i++){
plI.add(i);
}
plI.printList(false);
}
GO TO FULL VERSION