文档详情

java代码_去掉重复字符.doc

发布:2017-05-23约2.18千字共3页下载文档
文本预览下载声明
注:此篇文档是转载别人的,对原作者表示感谢。 import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; //去掉重复字符串的工具类 public class RemoveDuplicateChar { static StringBuffer sb = new StringBuffer(); // 普通的方法,不使用集合 static void removeDuplicateByOriginalMethod(String str) { System.out.println(方法一:普通方法); char[] cy = str.toCharArray(); String temp = ; for (int i = 0; i cy.length; i++) { if (temp.indexOf(cy[i]) == -1) { temp += cy[i]; } } System.out.println(去除重复字符后: + temp); sb.setLength(0); } // 方法二,使用LinkedHashSet可以在去掉重复字符后按照原字符顺序排列字符 static void removeDuplicateByLinkedHashSet(String str, String[] ss, int len) { System.out.println(方法二:LinkedHashSet); SetString set = new LinkedHashSetString(); iterate(set, ss, len); System.out.println(去除重复字符后: + sb.toString()); // 清空StringBuffer对象sb sb.setLength(0); } // 方法三,使用ArrayList可以在去掉重复字符后按照原字符顺序排列字符 static void removeDuplicateByArrayList(String str, String[] ss, int len) { System.out.println(方法三:ArrayList); ListString list = new ArrayList(); iterate(list, ss, len); System.out.println(去除重复字符后: + sb.toString()); // 记住要输出后才清空sb sb.setLength(0); } // 集合迭代器,用于去除重复字符并重新拼接字符 static void iterate(Object obj, String[] ss, int len) { if (obj instanceof Set) { System.out.println(迭代器正在迭代Set); SetString set = (Set) obj; for (int i = 0; i len; i++) { if (!set.contains(ss[i])) { set.add(ss[i]); } } for (String s : set) { sb.append(s); } } if (obj instanceof List) { System.out.println(迭代器正在迭代List); ListString list = (List) obj; for (int i = 0; i len; i++) { if (!list.contains(ss[i])) { list.add(ss[i]); } } for (String s : list) { sb.append(s); } } } public static void main(String[] args) { String str = 11335577992244668800; String[] ss = str.split(); // 在此处先拆分字符串,处理后再传给各个需要用到的方法,提高程序性能。 int len = ss.length; System.out.println(等待去除重复字符的字符串: + str); // 方法一 removeDuplicateBy
显示全部
相似文档