使用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;
}