我希望生成排列,并且作为过程的一部分,我使用HashSet编写了以下代码。
public static HashSet<String> getAllPermutations(String str)
{
// Create a hash set to prevent any duplicate entries
HashSet<String> permutations = new HashSet<String>();
if(str == null || str.length() == 0)
{
permutations.add("");
return permutations;
}
char first = str.charAt(0);
String remainingString = str.substring(1);
HashSet<String> words = getAllPermutations(remainingString);
System.out.println("here: "+ words.toString());
}
我的问题是,当我尝试使用main方法中的字符串abc
打印出来的代码heree hashset“words”时,我得到了这个输出:
here: []
here: [c]
here: [bc, cb]
为什么我在HashSet中获得bc
和cb
?我在这里找不到关于Hashsets的东西吗?