字符串去重,思路是在一个字符串例如“strstrrtsiiiinnnggggg”中,遍历所有的字符,拼接到StringBuffer中。在运行速度上来看StringBuffer的拼接速度要快与String。通过str.charAt(i)的方法得到当前遍历到的字符。通过indexOf方法得到该字符第一次出现的索引,然后同样的方法得到该字符最后一次出现的索引。准备工作做好后开始拼接。代码如下:
public static void main(String[] args) {
String str = "strstrrtsiiiinnnggggg";
StringBuffer stringBuffer = new StringBuffer();
for (int i = 0; i < str.length(); i ++) {
char charWord = str.charAt(i);
int firstPosition = str.indexOf(charWord);
int lastPosition = str.lastIndexOf(charWord);
if (firstPosition == lastPosition || firstPosition == i) {
stringBuffer.append(charWord);
}
}
System.out.println(stringBuffer.toString());
}
输出结果为string。