private List<T> deWeight(List<T> list, String type){if (CollectionUtils.isEmpty(list))
return null;
while (StringUtils.isNotBlank(type)) {switch (type) {
case "1":
for (int i = 0; i < list.size(); i++) {for (int j = i + 1; j < list.size(); j++) {if (list.get(i).equals(list.get(j))) {list.remove(j);
}
}
}
case "2":
List<T> newList = new ArrayList<>();
for (T obj : list) {if (!newList.contains(obj)) {newList.add(obj);
}
}
list.clear();
list.addAll(newList);
case "3":
HashSet hashSet = new HashSet(list);
list.clear();
list.addAll(hashSet);
case "4":
TreeSet treeSet = new TreeSet(list);
list.clear();
list.addAll(treeSet);
case "5":
list.stream().distinct().collect(Collectors.toList());
case "6":
Iterator iterator = list.iterator();
while (iterator.hasNext()) {Object t = iterator.next();
Iterator iterator1 = list.iterator();
while (iterator1.hasNext()) {Object ts = iterator1.next();
if (t == ts)
iterator.remove();}
}
case "7":
// 快慢指针的模式,汇合中的数据得是有程序的,否则去重会有问题慎用
int slowIndex = 0;
for (int fastIndex = 1; fastIndex < list.size(); fastIndex++) {if (list.get(slowIndex) != list.get(fastIndex)) {
slowIndex ++;
list.set(slowIndex, list.get(fastIndex));
}
}
list.subList(0,slowIndex);
default:
list = list;
}
}
return list;
}