Apprendimento di Java, quindi sii gentile, per favore. Idealmente ho bisogno di creare un array di byte che punterà ad una porzione di una matrice più grande:In Java: è dove un modo per creare un sottoarray che punterà a una porzione di un array più grande?
byte[] big = new byte[1000];
// C-style code starts
load(file,big);
byte[100] sub = big + 200;
// C-style code ends
So che questo non è possibile in Java e ci sono due modi di aggirare che vengono in mente e dovrebbe includere:
Ciascuna porzione di copiatura grande in sub scorrendo grande.
O scrittura propria classe che avrà un riferimento grande + compensato + dimensione e attuazione del "sottomatrice" attraverso metodi di accesso utilizzando grande come struttura dati reali sottostante.
Il compito che sto cercando di risolvere è quello di caricare un file in memoria uno poi ottenere l'accesso in sola lettura ai record memorizzati withing il file tramite una classe. La velocità è fondamentale, quindi idealmente mi piacerebbe evitare i metodi di copia o di accesso. E poiché sto imparando Java, mi piacerebbe seguirlo.
Altre alternative che ho? Si prega di fare domande se non ho spiegato abbastanza bene il compito.
Incoerenza: byte [] sub = nuovo byte [100]; riserva spazio per 100 byte ma l'assegnazione sub = big + 200; memorizza solo un puntatore. –
sganslandt, vero. Spostato anche nel codice in stile C. –