Simplify and prettify function looking for max value in a list and modifying some underlying values within that list
If you want to get rid of a for-loop just for code clarity, you could use a Stream and the max() function. (Assuming you're using Java 8+). You could also use Streams for the second for-loop.

Note however, it's not logically possible to avoid iterating through the list twice. You have to check every element to get the largest value, and again to set values on every item in the list.

I don't see you using highestQuantity, it's not really necessary since you have a pointer to recordHighestQuantity already.