use*_*566 5 java algorithm collections set hashset
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "abcdaa";
dups(str);
}
public static void dups(String str){
HashSet hs = new HashSet();
char[] ch = str.toCharArray();
for(int i=0; i < ch.length;i++){
hs.add(ch[i]);
}
System.out.println(hs);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码返回输出:[a,b,c,d]
但我想将 Set 值打印到一个字符串中,以便我可以返回一个字符串值返回值如下所示:预期输出:abcd
小智 2
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "abcdaa";
dups(str);
}
public static void dups(String str) {
HashSet<Character> hs = new HashSet<Character>();
char[] ch = str.toCharArray();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < ch.length; i++) {
if(hs.add(ch[i])){
sb.append(ch[i]);
}
}
System.out.println(sb);
}
Run Code Online (Sandbox Code Playgroud)
编辑
public static void dups(String str) {
HashSet<Character> hs = new HashSet<Character>();
StringBuilder sb = new StringBuilder();
for (Character character : str.toCharArray()) {
if(hs.add(character)){
sb.append(character);
}
}
System.out.println(sb);
}
Run Code Online (Sandbox Code Playgroud)
我想不出更好的方法来做到这一点...最好使用 StringBuilder 而不是 String,检查这个答案/sf/answers/107273841/