Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In Java: is where a way to create a subarray that will point to a portion of a bigger array?

Tags:

Learning Java, so be gentle please. Ideally I need to create an array of bytes that will point to a portion of a bigger array:

byte[] big  = new byte[1000];

// C-style code starts
load(file,big);

byte[100] sub = big + 200; 

// C-style code ends

I know this is not possible in Java and there are two work-arounds that come to mind and would include:

  1. Either copying portion of big into sub iterating through big.

  2. Or writting own class that will take a reference to big + offset + size and implementing the "subarray" through accessor methods using big as the actual underlying data structure.

The task I am trying to solve is to load a file into memory an then gain read-only access to the records stored withing the file through a class. The speed is paramount, hence ideally I'd like to avoid copying or accessor methods. And since I'm learning Java, I'd like to stick with it.

Any other alternatives I've got? Please do ask questions if I didn't explain the task well enough.