The easiest way would be to have the images as List<> instead of an array, and call Collections.shuffle(images, random) before the loop starts. That way you are guaranteed no repeats, just by picking the images sequentially.
This would be a very good solution especially if the image collection isn't exceedingly large (otherwise you could be shuffling a very large list to pick just a small subset of it).
If the collection is large, then you could just keep a HashSet with the positions already picked, and make sure that a new image is selected each time.