Lumikha ng isang klase na may listahan ng mga bagay na may di-makatwirang kalikasan (anumang klase). Kasama sa klase ang isang pamamaraan na tinatawag
PrintList
na may parameter na boolean. Ang pamamaraan ay nagpapakita ng kakaiba o pantay na mga elemento ng listahan sa console, depende sa halaga ng parameter (true o false).
- Pagbuo ng generic na klase
- Magdeklara ng ArrayList na may parametric na uri (lumikha ng listahan)
- Lumikha ng isang paraan na pumupuno sa listahan ng data
- Lumikha ng isang paraan na nagpi-print ng alinman sa pantay o kakaibang mga halaga
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());
}}}
}
Gumagawa ako ng object ng class PrintList
, ngunit may kongkretong klase String
sa halip na parametric type. Pinupunan ko ang listahan. Ito ay bubuuin ng 10 linya. At ngayon kung plS.printList(true)
, pagkatapos ay kahit na mga linya ay ipapakita. At kung plS.printList(false)
, pagkatapos ay kakaiba.
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);
Pagkatapos ay lumikha ako ng isang bagay ng klase PrintList
sa halip String
na ito ay ginagamit Integer
at ang mga kakaibang halaga ay output.
PrintList<Integer> plI = new PrintList<Integer>();
for (int i = 0; i < 10; i++){
plI.add(i);
}
plI.printList(false);
}
GO TO FULL VERSION