java查询一个字符串中重复的字符

来源:百度知道 编辑:UC知道 时间:2024/05/31 14:55:14
例:String str = "abcdaebijkd";
查找出来就应为:a,b,d

import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
String s = "abcdaebijkd";
ArrayList list = new ArrayList();
for(int i=0; i<s.length(); i++){
char c = s.charAt(i);
if(s.indexOf(c,i+1)>-1){
Character ch = new Character(c);
if(!list.contains(ch))
list.add(ch);
}
}
for(int i=0; i<list.size(); i++)
System.out.print(list.get(i)+",");
}
}

1:
public static List<Character> test(String str) {
Set<Character> set = new HashSet<Character>();
List<Character> list = new ArrayList<Character>();
for(int i=0;i<str.length();i++){
char c = str.charAt(i);
boolean has = set.contains(c);
if(has){
list.add(c);
}
else{
set.add(c);
}
}
return list;
}
只写了一个方法,供参考。

2:
import java.util.ArrayLis