数组去重
用TreeSet就可以很方便的去重+排序
public static void removeArray(int[] arr){
Set<Integer> ts = new TreeSet<>();
//将数组加入TreeSet中,去重、排序。
for(int i : arr){
ts.add(i);
}
//打印结果
for(int s : ts){
System.out.println(s);
}
}
字符串去重(顺序不变)
问题: 将字符串中重复的去掉,保持原顺序不变,例如:12errxrzr 输出为:12erxz
public static void removeStr(String str){
StringBuffer sb = new StringBuffer();
int len = str.length();
for(int i = 0; i < len; i++){
char c = str.charAt(i);
//如果该字符第一次出现的index和最后一次出现的index相等,这说明该字符没有重复
if(str.indexOf(c) == str.lastIndexOf(c)){
sb.append(c);
}else{
//如果不相等,则有重复,判断是否是第一次出现。
if(str.indexOf(c) == i){
sb.append(c);
}
}
}
System.out.println(sb.toString());
}