//方法一:使用集合的indexOf方法 public static void one(){ String string="aaaaaakkkkkkmnf";//需去重复的字符串string char[] arr=string.toCharArray();//把字符串转换成字符数组 List<Character> list=new ArrayList<Character>();//集合list StringBuffer stringBuffer=new StringBuffer();//新字符串stringBuffer //循环 for(int i=0;i<arr.length;i++){ //如果不包含就加入 if(!list.contains(arr[i])){ list.add(arr[i]); stringBuffer.append(arr[i]); } } //输出去掉重复之后的新的字符串 System.out.println(stringBuffer); } //方法二:使用String的indexOf方法 public static void two(){ String string="aaaaaakkkkkkmnf";//需去重复的字符串string char[] arr=string.toCharArray();//把字符串转换成字符数组 StringBuffer stringBuffer=new StringBuffer();//新字符串stringBuffer //循环 for(int i=0;i<arr.length;i++){ //如果找不到就加入 if(stringBuffer.indexOf(arr[i]+"")==-1){ stringBuffer.append(arr[i]); } } //输出去掉重复之后的新的字符串 System.out.println(stringBuffer); } //方法三:使用Set集合的特性去重复 public static void three(){ String string="aaaaaakkkkkkmnf";//需去重复的字符串string char[] arr=string.toCharArray();//把字符串转换成字符数组 //把不重复的字符串放入到该集合,使用TreeSet顺序 Set<Character> set=new TreeSet<Character>(); StringBuffer stringBuffer=new StringBuffer();//新字符串stringBuffer //循环 for(int i=0;i<arr.length;i++){ //利用set不允许重复的特性加入到set集合中 set.add(arr[i]); } Iterator<Character> iterator=set.iterator(); while (iterator.hasNext()) { stringBuffer.append(iterator.next()); } //输出去掉重复之后的新的字符串 System.out.println(stringBuffer); }
其中第二种方式最好,就是使用String的indexOf的方法.