JAVA怎么获取list重复对象

avatar
作者
筋斗云
阅读量:2

要获取List中重复的对象,可以使用以下方法:

  1. 使用循环遍历List,逐个比较对象是否重复,并将重复的对象添加到另一个List中。

    List<T> list = ...; // 原始List List<T> duplicates = new ArrayList<>(); // 存放重复对象的List  for (int i = 0; i < list.size(); i++) {     T current = list.get(i);     for (int j = i + 1; j < list.size(); j++) {         T compare = list.get(j);         if (current.equals(compare)) {             if (!duplicates.contains(current)) {                 duplicates.add(current);             }             break;         }     } } 
  2. 使用Java 8的Stream API,结合Collectors.groupingBy方法进行分组,然后过滤出重复的对象。

    List<T> list = ...; // 原始List  List<T> duplicates = list.stream()     .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))     .entrySet()     .stream()     .filter(entry -> entry.getValue() > 1)     .map(Map.Entry::getKey)     .collect(Collectors.toList()); 

以上方法中,T是要比较的对象类型,可以根据实际需求进行替换。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!