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

    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
    blackrabbit's schermafbeelding
    Lid sinds
    25/07/02
    Locatie
    Brussel
    Berichten
    1.140
    iTrader
    5 (100%)
    Reputation
    1/2
    Dan moet je die oude waardes kopiëren he..
    Of ArrayList gebruiken.

  3. #3
    forloRn_'s schermafbeelding
    Lid sinds
    23/11/03
    Locatie
    Landeurp
    Berichten
    1.757
    iTrader
    0
    Reputation
    10/17
    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.210
    iTrader
    53 (100%)
    Reputation
    22/90
    Citaat Oorspronkelijk geplaatst door forloRn_ Bekijk bericht
    Deze quote is verborgen omdat je deze gebruiker negeert. Weergeven
    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
    Reputation
    0/1
    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
    932
    iTrader
    0
    Reputation
    11/38
    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.140
    iTrader
    5 (100%)
    Reputation
    1/2
    Citaat Oorspronkelijk geplaatst door forloRn_ Bekijk bericht
    Deze quote is verborgen omdat je deze gebruiker negeert. Weergeven
    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
    Grimbergen
    Berichten
    386
    iTrader
    24 (100%)
    Reputation
    0/1
    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.757
    iTrader
    0
    Reputation
    10/17
    Citaat Oorspronkelijk geplaatst door blackrabbit Bekijk bericht
    Deze quote is verborgen omdat je deze gebruiker negeert. Weergeven
    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
    Deze quote is verborgen omdat je deze gebruiker negeert. Weergeven
    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