ArrayList Fragen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wenn du einen solche Funktionalität für eine ArrayList möchtest, müsstest du eine eigene Klasse schreiben, welche die KlasseArray-List ableitet. Dann kannst du die add-Methode überschreiben. Da du von positiven Werten spricht nehme ich an du meinst Integer-Wert. Das ganze sollte dann ungeföhr so aussehen:

    Quellcode

    1. public class CustomArraylist extends ArrayList<Integer>{
    2. @Override
    3. public boolean add (Integer i) {
    4. if ( i < 0 || this.contains(i) ) {
    5. return false;
    6. }
    7. super.add(i);
    8. return true;
    9. }
    10. }
    Alles anzeigen
  • BennyBunny schrieb:

    Wenn du einen solche Funktionalität für eine ArrayList möchtest, müsstest du eine eigene Klasse schreiben, welche die KlasseArray-List ableitet. Dann kannst du die add-Methode überschreiben. Da du von positiven Werten spricht nehme ich an du meinst Integer-Wert. Das ganze sollte dann ungeföhr so aussehen:


    Naja du musst nicht eine eigene classe dafur erstellen
    Du brauchst nur ein ArrayList<Integer> feld und eine add methode die du natürlich mit @Override beschmücken musst was glaube ich Eclipse oder NetBeans dann eh selber macht...

    Quellcode

    1. import java.util.ArrayList;
    2. ...
    3. private ArrayList<Integer> feld = new ArrayList<Integer>();
    4. @Override
    5. public boolean add(int i) {
    6. if(i < 0 || feld.contains(i))
    7. return false;
    8. else {
    9. feld.add(i);
    10. return true;
    11. }
    12. }
    13. ...
    Alles anzeigen
  • Du meinst wohl eher das:

    Quellcode

    1. ...
    2. private ArrayList<Integer> feld = new ArrayList<Integer>() {
    3. @Override
    4. public boolean add(int i) {
    5. if(i < 0 || contains(i))
    6. return false;
    7. else {
    8. super.add(i);
    9. return true;
    10. }
    11. }
    12. };
    13. ...
    Alles anzeigen

    Ansonsten wüßte ich nicht, was du mit @Override überschreiben willst.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Hafner ()

  • error777 schrieb:

    also ich meine genau wie ich es geschieben habe weil du ja nur eine methode in deine klasse schreibst und nicht extends ArraList<Integer>


    Die @Override Annotation ist aber nur dann von nöten, wenn auch eine Methode überschrieben wird, was nur der Fall ist, wenn ich meine Klasse von einer Klasse ableite.

    Die CustomArrayList aus dem Grund, da die Add-Methode ein essentieller Bestandteil einer ArrayList ist und deswegen auch nicht ausgelagert werden sollte - Das sind gerade am Anfang Sachen, die man tunlichst vermeiden sollte um seine Struktur nicht unnötig zu verkomplizieren.