[Java] Array vullen d.m.v. methode

Status
Niet open voor verdere reacties.

Helpmijtoch

Gebruiker
Lid geworden
15 feb 2008
Berichten
620
Goedendag,

Ik ben een beetje java-noob. Ik wil graag een Array vullen met (reeds aangemaakt) objecten d.m.v. een methode.

Code:
        //deze objecten worden aangemaakt in de constructor.
        this.addLid(juniorLid1);
        this.addLid(juniorLid2);
        this.addLid(juniorLid3);
        this.addLid(seniorLid1);
        this.addLid(seniorLid2);      
    }
    

    public void addLid(Lid lid)
    {
        //Wat moet hier komen?

    }

Ik heb al vanalles geprobeerd. Een for-loop werkt niet, want dan zettie ze elke keer toch op positie '0'. Wat kan ik doen?
Ik wil ze er niet handmatig inzetten!

Bedankt!
 
Kun je niet beter gebruik maken van een list? Of iets uit die familie? Als de data puur statisch is kun je natuurlijk ook een static array gebruiken in de constuctor.
 
Kun je niet beter gebruik maken van een list? Of iets uit die familie? Als de data puur statisch is kun je natuurlijk ook een static array gebruiken in de constuctor.

En je bedoelt dan d.m.v. list.add iets toevoegen aan de arraylist. Ja dat is wel makkelijker. Maar ik zou graag willen weten (voor eigen kennis-uitbreiding) hoe dit gaat bij een Array.



zoiets, alleen dan dat 'i ' elke keer ophoogt.
 
Dat gaat heel moeilijk, daarom je gebruik je weinig standaard arrays in JAVA ;) (tenminste voor objecten)

Je kunt een counter toevoegen in de class. Echter daar arrays statisch gedeclareerd moeten worden in JAVA is dat zeer onveilig. In een class kun je wel een array zo gebruiken:

string[] lijstje = {"JL1","JL2","JL3","SL1","SL2"};
 
Probeer even dit:

private List<Lid> lijst;

public myConstructor(){
lijst = new ArrayList<Lid>();

//deze objecten worden aangemaakt in de constructor.
this.addLid(juniorLid1);
this.addLid(juniorLid2);
this.addLid(juniorLid3);
this.addLid(seniorLid1);
this.addLid(seniorLid2);
}


public void addLid(Lid lid)
{
lijst.add(lid)
}
 
Code:
public class ClassName{
     
     private int index = 0;
     private Object[] array = new Object[10];

     public ClassName(){

        this.addLid(juniorLid1);
        this.addLid(juniorLid2);
        this.addLid(juniorLid3);
        this.addLid(seniorLid1);
        this.addLid(seniorLid2);      
    }
    

    public void addLid(Lid lid)
    {
        // of eventueel gaan resizen
          if (index == 10){
              return;
          }
        
          array[index++] = lid;

    }

maar doe jezelf een plezier en gebruik gewoon een list:P
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan