I have an ArrayList, which I want to divide into smaller Lists of n size, and perform an operation on each. My current method of doing this is
implemented with Array
Since you want to optimise your performance you should use a parallel stream instead of a for loop. This way you can use multiple threads.
Lists.partition(A, n).parallelStream().forEach({
//do stuff with temp
});
You can also use other ways to wort with the stream for example collect or map if it matches your purpose.