高手帮忙看看这个方法是不是太委琐了,要怎么改好一点,作用是过滤String[]中的重复元素..比如{"AA","BB","BB","CC","CC"}过滤后就是{"AA","BB","CC"}
//////////////////////////public static String[] setUnique(String[] values){
int num = 1;
String[] tempStr = new String[values.length];
tempStr[0] = values[0];
for(String subStr : values){
boolean state = false;
int i = 0;
while(i < values.length && tempStr[i] != null){
if(subStr.equals(tempStr[i])){
state = true;
}
i ++;
}
if(state == false){
tempStr[num] = subStr;
num ++;
}
}
int count = 0;
for(String s : tempStr){
if(s != null)
count ++;
}
String[] returnStr = new String[count];
for(int x = 0; x < count; x++){
returnStr[x] = tempStr[x];
}
return returnStr;
}
//////////////////////////public static String[] setUnique(String[] values){
int num = 1;
String[] tempStr = new String[values.length];
tempStr[0] = values[0];
for(String subStr : values){
boolean state = false;
int i = 0;
while(i < values.length && tempStr[i] != null){
if(subStr.equals(tempStr[i])){
state = true;
}
i ++;
}
if(state == false){
tempStr[num] = subStr;
num ++;
}
}
int count = 0;
for(String s : tempStr){
if(s != null)
count ++;
}
String[] returnStr = new String[count];
for(int x = 0; x < count; x++){
returnStr[x] = tempStr[x];
}
return returnStr;
}
Map map = new HashMap();
if (values == null) return null;
for (int i=0; i< values.length; i++) {
if(map.get(values[i]) == null) map.put(values[i],values[i]);
}
String[] rt = new String[values.length];
return map.keySet().toArray(rt);
}