Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Java] Estendere un array

    Qual'e' il modo piu' efficiente per ottenere un array (si', dev'essere per forza un'array perche' e' il parametro di ritorno di una funzione di libreria) che contenga gli stessi elementi di un array preesistente, piu' degli elementi aggiuntivi, non importa in quale ordine.
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Credo che il modo più semplice sia quello utilizzato dalla classe Vector nel metodo add():
    codice:
    public tipo[] aggiungiElementi(tipo [] array) {
       tipo [] copia = new tipo[array.length + quanti];
       int i = 0;
       for (i=0; i<array.length; i++)
          copia[i] = array[i];
       copia[i] = nuovo_elemento_1;
       copia[i+1] = nuovo_elemento_2;
       ...
       copia[i+n] = nuovo_elemento_n;
       return copia;
    }
    In pratica crei una copia dell'array, con una dimensione maggiore e ci aggiungi gli elementi in più.


    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
    Ok, grazie.
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  4. #4
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao in alternativa potresti uitilizzare il metodo arraycopy di System.

    codice:
    int[] array = {1,2,3};
    int[] ar = new int[10];
    
    System.arraycopy(array,0,ar,0,array.length);
    Ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  5. #5
    Beh, mi sono accorto che l'estensione su cui lavoravo esiste gia', percio' e' inutile che ci perda altro tempo...
    Grazie comunque!!!
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

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.