通过Set的特性去重,根据list长度的变化,得出结果
private static Boolean test(List list) {
HashSet<String> set = new HashSet<>(list);
Boolean result = set.size() == list.size() ? true : false;
return result;
}
public static List test(List<Integer> list) {
TreeSet set = new TreeSet(list);
//把List集合所有元素清空
list.clear();
//把TreeSet对象添加至List集合,转回list
list.addAll(set);
return list;
}
public static List test(List<Integer> list) {
LinkedHashSet<Integer> linkedHashSet = new LinkedHashSet<>(list);
//把List集合所有元素清空
list.clear();
//把linkedHashSet对象添加至List集合,转回会list
list.addAll(set);
return list;
}
通过stream的去重方法获取新的list.或者根据对象list的某个字段去重,得到新的列表,然后判断长度是否有变化
public static List test(List<Integer> list) {
List newList = list.stream().distinct().collect(Collectors.toList());
return newList;
}
public static List test(List<User> list) {
List newList = list.stream().map(User::getName()).distinct().collect(Collectors.toList());
return newList;
}
再来个笨方法
遍历后判断赋给另一个list集合
List newList = new ArrayList();
for (Integer integer : list) {
if(!newList.contains(integer)){
newList.add(integer);
}
}
System.out.println(“赋值新list去重:”+newList);