1. #1
    Pudmeister's schermafbeelding
    Lid sinds
    20/08/11
    Locatie
    Liberty City
    Berichten
    826
    iTrader
    0

    Java: lengte van array aanpassen

    Stel: ik wil de lengte van een array aanpassen. Hoe zou dit moeten?

    Code:
    public static void main(String[] args){
    
    int []array = new int[3]; //Hier maak ik een array met 3 elementen
    
    //Er worden enkele waardes in gezet
    array[0] = 10;
    array[1] = 20;
    array[2] = 30;
    
    
    }
    Als ik nu nog meer waardes in de array wil zetten na deze code. Bijvoorbeeld als je op voorhand niet weet hoe lang de array moet zijn. Want als ik opnieuw array = new int[5] doe, zodat er nu 5 waardes kunnen worden opgeslagen, dan zijn de vorige waardes weg...
    PSN: Pudmeister89

  2. #2

  3. #3
    forloRn_'s schermafbeelding
    Lid sinds
    23/11/03
    Locatie
    Landeurp
    Berichten
    1.741
    iTrader
    0
    Niks kopiëren, gewoon .add() op een ArrayList of een LinkedList.

  4. #4
    Cycloon's schermafbeelding
    Lid sinds
    17/01/04
    Locatie
    Melle
    Berichten
    10.113
    iTrader
    52 (100%)
    Citaat Oorspronkelijk geplaatst door forloRn_ Bekijk bericht
    Niks kopiëren, gewoon .add() op een ArrayList of een LinkedList.
    Idd.

    Maar om toch eventjes technisch te worden, de implementatie van ArrayList gaat ook arrays kopiëren wanneer er niet genoeg plaats is (dit gebeurt uiteraard intern en merk je niet). LinkedList heeft daar geen last van maar is sowieso een stukje zwaarder
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character

  5. #5
    Pudmeister's schermafbeelding
    Lid sinds
    20/08/11
    Locatie
    Liberty City
    Berichten
    826
    iTrader
    0
    Zou iemand mijn voorbeeld kunnen aanvullen? Want ik weet niet hoe die ArrayList precies werkt...
    PSN: Pudmeister89

  6. #6
    NeverwinterX's schermafbeelding
    Lid sinds
    26/08/04
    Locatie
    Leuven
    Berichten
    931
    iTrader
    0
    Code:
    List<Integer> list = new ArrayList<Integer>();
    // of met Java 7: List<Integer> list = new ArrayList<>();
    list.add(10);
    list.add(20);
    list.add(30);
    enz
    ArrayList gebruikt op de achtergrond zelf een array en zal die zelf vergroten wanneer nodig (ie, er kan dus een vertraging optreden op het moment dat die wordt vergroot; in de meeste gevallen hoef je daar geen rekening mee te houden).

    Meer uitleg:
    http://docs.oracle.com/javase/tutori...aces/list.html
    http://docs.oracle.com/javase/tutori...ions/list.html
    http://docs.oracle.com/javase/7/docs...ArrayList.html
    I am thee and thou art me and all of one is the other.
    TED talk: Richard Dawkins on militant atheism

  7. #7
    blackrabbit's schermafbeelding
    Lid sinds
    25/07/02
    Locatie
    Brussel
    Berichten
    1.137
    iTrader
    5 (100%)
    Citaat Oorspronkelijk geplaatst door forloRn_ Bekijk bericht
    Niks kopiëren, gewoon .add() op een ArrayList of een LinkedList.
    Waarmee je zijn vraag dus helemaal negeert.

  8. #8
    grafzerkpisser's schermafbeelding
    Lid sinds
    27/09/11
    Locatie
    Antwerpen
    Berichten
    245
    iTrader
    11 (100%)
    Hou er wel rekening mee dat de elementen van een ArrayList van het type Object zijn. Je gaat deze dus eerst moeten casten vooraleer je de properties en methods ervan kan gebruiken. + Let ook op: in een ArrayList kan je om het even wat in steken --> kan dus fouten opleveren.
    None are more hopelessly enslaved than those who falsely believe they are free.

  9. #9
    forloRn_'s schermafbeelding
    Lid sinds
    23/11/03
    Locatie
    Landeurp
    Berichten
    1.741
    iTrader
    0
    Citaat Oorspronkelijk geplaatst door blackrabbit Bekijk bericht
    Waarmee je zijn vraag dus helemaal negeert.
    Het antwoord is: nee, je kunt de grenzen van een array niet aanpassen dus je moet een List gebruiken. Nu goed?

    Citaat Oorspronkelijk geplaatst door grafzerkpisser
    Hou er wel rekening mee dat de elementen van een ArrayList van het type Object zijn. Je gaat deze dus eerst moeten casten vooraleer je de properties en methods ervan kan gebruiken. + Let ook op: in een ArrayList kan je om het even wat in steken --> kan dus fouten opleveren.
    Als Java nog geen generics had ja, maar dat is ondertussen al wel meer dan 7 jaar het geval.

Regels voor berichten

  • Je mag geen nieuwe discussies starten
  • Je mag niet reageren op berichten
  • Je mag geen bijlagen versturen
  • Je mag niet je berichten bewerken
  •  

Inloggen

Inloggen