First, just store all the unique characters using a HashMap or so, then transfer them to a List, which we will call chars, for ease of use.
Your recursive method is building on a string. When that string reaches length 5, you are done, and you want to keep it. You can return the string or simply store it in a global list.
In this case, assume your list is called permutations.
void generatePermutation(String current) {
if (current.length == 5) {
permutations.add(current);
} else {
for (int i = 0; i < chars.size(); i++) {
generatePermutation(current + chars.get(i));
}
}
}