Create a Custom Class that wraps a Character and a boolean flag to maintain that its original character.
class MyCharacter { private Character c; private boolean isOriginal; public MyCharacter(Character c, boolean isOriginal) { this.c = c; this.isOriginal = isOriginal; } public Character getChar() { return c; } public boolean isOriginal() { return isOriginal; } }
Instead of adding Character into list. Add MyChracter object.
For original chracters pass boolean true in constructor and for later random ones pass false in it.
Do shuffling or whatever you want. At any moment iterate over the list. Get the MyChracter object and check whether its original or not.
This should be simple to do. Hope this helps
Cheers