1.使用LinkedHashSet删除arraylist中的重复数据(有序)
List<String> words= Arrays.asList("a","b","b","c","c","d");
LinkedHashSet<String> set=new LinkedHashSet<>(words);
List<String> newWords = new ArrayList<>(set);
System.out.println(newWords);
2.使用java8新特性stream进行List去重
List<String> words= Arrays.asList("a","b","b","c","c","d");
List<String> newWords = words.stream().distinct().collect(Collectors.toList());
System.out.println(newWords);
3.使用List的contains方法for循环遍历
List<String> words= Arrays.asList("a","b","b","c","c","d");
List<String> list= new ArrayList<>();
for (String s:words) {
if (!list.contains(s)) {
list.add(s);
}
}
System.out.println(list);
4.List实体去重
Set<Room> set = new TreeSet<Room>(new Comparator<Room>() {
@Override
public int compare(Room o1, Room o2) {
return o1.getId().compareTo(o2.getId());
}
});
set.addAll(room);
List<Room> roomList = new ArrayList<Room>(set);