前台经常逗号隔开传参数给后台,后台操作时需筛选重复的值,过滤掉再操作
针对字符串数组和整型数组去重,分别用以下方法实现:
- 字符串数组去重
//字符串去重
public String distinctString(String str) {
String[] array = str.split(",");
List<String> list = new ArrayList<String>();
for(int i=0;i<array.length;i++){
for(int j=i+1;j<array.length;j++){
if(array[i].equals(array[j])){
j = ++i;
}
}
list.add(array[i]);
}
String newStr="";
for(String s:list){
newStr=newStr+s+",";
}
return newStr;
}
- 整型数组去重
1. 使用 List 接口:
int[] attr = { 1, 2, 3, 3, 5, 5, 7, 9 };
List<Integer> list = new ArrayList<Integer>();
for (int i : attr) {
if (!list.contains(i)) {//boolean contains(Object o):
list.add(i);
}
}
System.out.println(list);
2. 使用 Set 接口:
int[] attr = { 1, 2, 3, 3, 5, 5, 7, 9 };
List<Integer> list = new ArrayList<Integer>();
for (int i : attr) {
list.add(i);
}
Set<Integer> set = new HashSet<Integer>();
set.addAll(list);
System.out.println(set);