Aprendiendo Java, así que sea gentil por favor. Lo ideal es que necesito para crear una matriz de bytes que apuntará a una parte de un arreglo más grande:En Java: ¿dónde está la forma de crear un submatriz que apunte a una porción de una matriz más grande?
byte[] big = new byte[1000];
// C-style code starts
load(file,big);
byte[100] sub = big + 200;
// C-style code ends
Sé que esto no es posible en Java y hay dos soluciones temporales que vienen a la mente e incluiría:
de cualquier proceso de copia de grande en sub iteración a través de grande.
O escribiendo propia clase, que tendrá una referencia a gran tamaño + offset + y la aplicación de la "subconjunto" a través de métodos de acceso usando grande como la propia estructura de datos subyacente.
La tarea que estoy tratando de resolver es cargar un archivo en la memoria una a continuación, obtener acceso de sólo lectura a los registros almacenados en el canto del archivo a través de una clase. La velocidad es primordial, por lo tanto, idealmente me gustaría evitar los métodos de copiado o acceso. Y dado que estoy aprendiendo Java, me gustaría seguir con eso.
¿Alguna otra alternativa que tenga? Haga preguntas si no le expliqué la tarea lo suficientemente bien.
Inconsistencia: byte [] sub = new byte [100]; reserva espacio para 100 bytes pero la asignación sub = grande + 200; solo almacena un puntero. –
sganslandt, cierto. Movido al código de estilo C también. –