使用Set的写法:
public String myMethod1(String str){ //Set方法Set set=new HashSet();for (int i = 0; i < str.length(); i++) {set.add(str.charAt(i));}String s = "";for (Object o :set) {s+=o;}return s;}
由于Set集合内不会存储重复的字符,所以可以直接写
使用List的写法:
public String myMethod2(String str){ //List方法List list=new ArrayList();for (int i = 0; i < str.length(); i++) { //把字符串分成一个个字符,分别传到list集合中list.add(str.charAt(i));}String strBack = "";for (; 0 < list.size();) {Object o=list.get(0); //把遇到的字符放进返回的字符串中strBack += o;list.remove(0);for (int j = 0; j < list.size(); j++) { //把之后出现的同一个字符删除if (o==list.get(j)){list.remove(j);j--;}}}return strBack;}
使用字符串的写法:
public String myMethod3(String str){ //字符串方法String strBack = "";for (int i = 0; i < str.length(); i++) {String s=str.charAt(i)+""; //将字符串中每一个字符都取出来if (strBack.indexOf(s)==-1){ //如果返回的字符串内没有该字符,就将该字符放进去strBack+=s;}}return strBack;}
使用字符串数组的写法:
public String myMethod4(String str) { //字符串数组方法String strBack = "";int num=0;char[] arr=new char[str.length()]; //创建一个长度和字符一样长度的数组for (int i = 0; i < str.length(); i++) {char ch=str.charAt(i); //依次获取字符串中的字符for (int j = 0; j < arr.length; j++) { //如果数组里面没有出现过该字符,将字符按顺序放入数组if (ch==arr[j]){break;}if (j==arr.length-1){arr[num++]=ch;}}}for (int i = 0; i < arr.length; i++) { //将数组内的字符拼接成字符串if (arr[i]==' '){break;}strBack+=arr[i];}return strBack;}
使用HashMap的写法:
public String myMethod5(String str) { //使用HashMap方法String aaa="aaa";//没啥用String strBack=""; //返回值Map map=new HashMap();for (int i = 0; i < str.length(); i++) { //将字符串的字符全部传入map集合中char ch=str.charAt(i);map.put(ch,aaa);}Set set=map.keySet();for (Object o : //将set集合中的字符拼接成字符串set) {strBack+=o;}return strBack;}