我有一个 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/