java - 如何使用java中的方法从大字符串中删除相同的字符

标签 java string methods

我有一个 10^1000 个字符的字符串。我们无法运行循环来逐一检查......那我该怎么办?

我很喜欢

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);

}
}

我这样做是为了从字符串中删除所有重复的字符。但是当 input.length() 太大时,效率不高。

最佳答案

您可以尝试将字符串转换为字符数组,并将其存储在 LinkedHashSet 中。这将保留您的顺序,并删除重复项

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 - 如何使用java中的方法从大字符串中删除相同的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46110813/

相关文章:

python - 如何在Python中转换HH :MM:SS to time. time()对象

ios - 确定 UITextView 将截断字符串的位置

java - 用于将值插入 Db 的字符串格式

调用实例方法时出现 C++ 访问冲突

c# - 由于 '{method}' 返回 void,return 关键字后面不能跟对象表达式

java - Spring xml + JUnit - xml 上下文文件在 src/test/resources 中不起作用但在 src/main/resources 中起作用

java - 我们如何将变量从一种方法使用到另一种方法,例如我尝试将一个变量除以另一个变量

java - 如何在并发线程中操作 "ConcurrentModificationException"和 `values()` 时避免 HashMap `put()`?

Java接口(interface)扩展了java.util包中的接口(interface)

java - 当我有并非所有实现者都支持的操作时,设计界面的正确方法是什么?