Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [JAVA] Array

  1. #1

    [JAVA] Array

    Buongiorno a tutti.

    Domanda molto semplice,

    è possibile in Java il ridimensionamento di un array mantendo i valori delle righe precedentemente impostate?

    Praticamente il Redim Preserve di VB

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Premesso che questa cosa viene implementata automaticamente dalla classe Vector, sì è possibile, utilizzando il trucchetto della classe Vector. Supponiamo che tu abbia un array di String:

    codice:
    String [] mioArray = new String[100];
    ... // inizializzo il mio array
    
    // Ora lo ridimensiono: come?
    // Creo un array della stessa dimensione e lo popolo con i valori del vecchio array:
    String [] mioArrayCopia[mioArray.length];
    for (int i=0; i<mioArray.length; i++) {
       mioArrayCopia[i] = mioArray[i];
    }
    
    // Ora ricreo il mio array...
    mioArray = new String[<nuova dim>] // <nuova dim> è la nuova dimensione dell'array
    
    // ... e lo ripopolo con i suoi vecchi valori
    for (int i=0; i<mioArrayCopia.length; i++) {
       mioArray[i] = mioArrayCopia[i];
    }
    
    // ora il mio array è ridimensionato, posso buttare la copia
    mioArrayCopia = null; // se sei in un metodo e mioArrayCopia è stato creato qui, non serve.
    Ti consiglio di dare un'occhiata alla classe Vector, perchè ti agevola quando hai array di dimensione variabile nel tempo: se li autodimensiona e ti permette di contenere qualsiasi oggetto (Object).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Scusate, ma non si può fare + o - la stessa cosa con ArrayList?

    il lupo perde il pelo ma non il vizio!
    http://www.pateam.eu
    http://pateam.altervista.org

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Non conosco la classe, ma immagino di sì. Java è pieno di classi che fanno cose simili...



    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.