当前位置: 首页 > 面试题库 >

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

公孙高轩
2023-03-14
问题内容

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

例如字符串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);

    }

}

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


问题答案:

将字符串转换为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());


 类似资料:
  • 问题内容: 任何人都可以让我知道如何从中删除重复的值 和输出应该像 使用Java 任何帮助,将不胜感激。 问题答案: 只需一行即可: 输出: 请注意,订单已保留:) 关键点是: 给我们不同的值作为数组 把数组变成一个列表 保留唯一性 和 插入顺序-它完成为我们提供唯一值的所有工作,这些值通过构造函数传递 该列表是 最后的命令从 此解决方案要求这些值不包含字符序列,这是此类简洁代码的合理要求。 Ja

  • 字符串userKeyword来自用户键盘输入-我已经尝试编写一个方法来返回这个删除重复字符的字符串。 通过在while循环中移动新字符赋值,我现在得到的输出与PLAIN_ALPHA相同,而不是userKeyword,并省略了重复项。我做错了什么?

  • 我被要求编写一个程序,从字符串中删除重复的字母**注意:大小写字母被认为是重复的。我编写了代码,它适用于所有没有空格键的输入,当一个字符串带有空格时,它会显示错误。我只需要使用循环和数组,没有额外的函数或哈希,这是我的代码,几乎可以工作:

  • 问题内容: 我正在寻找最快的方法来删除用逗号分隔的字符串中的重复值。 所以我的弦看起来像这样; 我可以将字符串分解为值然后进行比较,但是我认为这样做会很慢。那么preg_replace()会更快吗?使用此功能有人吗? 问题答案: 最短的代码是: 如果它是最快的…我不知道,那么它可能快于显式循环。 参考:,,

  • 我试图遍历一个字符串以删除重复的字符。 例如,字符串应该变成,字符串应该变成

  • 我需要对一个字符串进行预处理,并从中移除一些单词。我要找的东西是这样的:- 我是新的编程,所以请考虑。