Erstellen Sie eine Klasse mit einer Liste von Objekten beliebiger Art (jede Klasse). Die Klasse enthält eine Methode, die
PrintList
mit einem booleschen Parameter aufgerufen wird. Die Methode zeigt in der Konsole ungerade oder gerade Listenelemente an, abhängig vom Wert des Parameters (wahr oder falsch).
- Erstellen einer generischen Klasse
- Deklarieren Sie eine ArrayList mit einem parametrischen Typ (erstellen Sie eine Liste).
- Erstellen Sie eine Methode, die die Liste mit Daten füllt
- Erstellen Sie eine Methode, die entweder gerade oder ungerade Werte druckt
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());
}}}
}
Ich erstelle ein Objekt der Klasse PrintList
, jedoch mit einer konkreten Klasse String
anstelle eines parametrischen Typs. Ich fülle die Liste aus. Es wird aus 10 Zeilen bestehen. Und wenn nun plS.printList(true)
, dann werden gerade Linien angezeigt. Und wenn plS.printList(false)
, dann seltsam.
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);
Dann erstelle ich ein Objekt der Klasse, PrintList
stattdessen String
wird es verwendet Integer
und ungerade Werte ausgegeben.
PrintList<Integer> plI = new PrintList<Integer>();
for (int i = 0; i < 10; i++){
plI.add(i);
}
plI.printList(false);
}
GO TO FULL VERSION