方法1:
public static void removeMethod(String s) {
StringBuffer sb=new StringBuffer();
int len=s.length();
int i=0;
boolean flag=false;
for(i=0; i<len;i++){
char c=s.charAt(i);
if(s.indexOf(c)!=s.lastIndexOf(c)){
flag=false;
}else{
flag=true;
}
if(i==s.indexOf(c))
flag=true;
if(flag){
sb.append(c);
}
}
System.out.print(sb.toString());
}
結果:0123456789
方法2:TreeSet
//1.將字串迴圈添加到TreeSet中
String str="01211113477440000447756677899123";
TreeSet<String> ts=new TreeSet<>();
int len=str.length();
for(int i=0;i<len;i++){
ts.add(str.charAt(i)+"");
}
2.迴圈遍曆TreeSet
Iterator<String> i=ts.iterator();
StringBuilder sb=new StringBuilder();
while(i.hasNext()){
sb.append(i.next());
}
3.輸出結果
System.out.println(sb.toString());//0123456789
註:Set描述
Collection的子介面之Set介面
Set描述
Set是一種不包含重複的元素的Collection,即任意的兩個元素e1和e2都有e1.equals(e2)=false,Set最多有一個null元素。Set的建構函式有一個約束條件,傳入的Collection參數不能包含重複的元素。
Set介面之HashSet
此類實現 Set介面,由雜湊表(實際上是一個 HashMap 執行個體)支援。它不保證 set 的迭代順序;特別是它不保證該順序恒久不變。此類允許使用 null 元素。
HashSet簡單使用
public static void main(String[] args) {
HashSet<String> hs=new HashSet<String>();
hs.add("aaaa");
hs.add("aaaa");
hs.add("bbbb");
hs.add("bbbb");
hs.add("cccc");
hs.add("cccc");
hs.add("dddd");
hs.add(null);
Iterator<String> i=hs.iterator();
while(i.hasNext()){
System.out.println(i.next());
}
}
輸出
null
bbbb
dddd
aaaa
cccc
Set介面之TreeSet
此類實現Set介面,由二叉樹實現的,Treeset中的資料是自動排好序的,不允許放入null值。
TreeSet簡單使用
TreeSet<String> ts=new TreeSet<String>();
ts.add("aaaa");
ts.add("aaaa");
ts.add("bbbb");
ts.add("bbbb");
ts.add("cccc");
ts.add("dddd");
ts.add("dddd");
Iterator<String> i=ts.iterator();
while(i.hasNext()){
System.out.println(i.next());
}
輸出
aaaa
bbbb
cccc
dddd