Your other questions
The other thing is I'm having trouble knowing how to name the array that is to be filled with random values, I can't think of a better name than data.
I renamed the randomArrayList method to generateRandomList, and it felt quite natural to rename the data variable to randomList.
Last thing, should the variable data be in the local scope of the method or should it be a member variable of the class? I would never have more than one array I'm using at a time, for example I wouldn't have sorted and reverse sorted array I need to hold on to the values to after I use them once.
Local scope, as it is now. Unless micro benchmarking is absolutely critical for your use case, you don't need to worry about the fact that the array gets thrown away at every run.
Suggested implementation
I'm pasting this here mainly for the unit tests. Before refactoring your methods I wrote the tests to make sure I'm not breaking anything. Having these tests in advance are a real time saver, I recommend you start using them.