一尘不染

从Java中的字符串中删除重复项

java

我试图遍历一个字符串,以删除重复的字符。

例如字符串aabbccdef应该成为abcdef 和字符串abcdabcd应该成为abcd

这是我到目前为止的内容:

public class test {

    public static void main(String[] args) {

        String input = new String("abbc");
        String output = new String();

        for (int i = 0; i < input.length(); i++) {
            for (int j = 0; j < output.length(); j++) {
                if (input.charAt(i) != output.charAt(j)) {
                    output = output + input.charAt(i);
                }
            }
        }

        System.out.println(output);

    }

}

做这个的最好方式是什么?


阅读 642

收藏
2020-03-13

共1个答案

一尘不染

将字符串转换为char数组,并将其存储在中LinkedHashSet。这样可以保留你的订购,并删除重复的商品。就像是:

String string = "aabbccdefatafaz";

char[] chars = string.toCharArray();
Set<Character> charSet = new LinkedHashSet<Character>();
for (char c : chars) {
    charSet.add(c);
}

StringBuilder sb = new StringBuilder();
for (Character character : charSet) {
    sb.append(character);
}
System.out.println(sb.toString());
2020-03-13