为了找到重复项,我们可以利用Java中Set的属性,即在Java中不允许将重复项添加到Set中的情况。set的Add方法为之前未添加的添加值返回true。如果添加值已经存在于Set中,则返回false。
对于我们的议程,我们将遍历整数的列表或集合,并尝试将每个整数添加到整数类型的集合中。如果现在添加整数,则这意味着它是第一次发生,并且如果整数是不会被添加,因为Set add方法返回false意味着它再次发生并且在给定列表或集合中重复。因此对于这些重复的整数类型,我们会将其添加到其他set中,这将是我们得到的重复整数。
import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; public class DuplicateIntegers { public static void main(String[] args) { ArrayList<Integer> arr = new ArrayList<>(Arrays.asList(1,2,3,4,45,55,3,32,22,22,55,1)); HashSet<Integer> hCheckSet = new HashSet<>(); HashSet<Integer> hTargetSet = new HashSet<>(); for (Integer integer : arr) { if(!hCheckSet.add(integer)) { hTargetSet.add(integer); } } System.out.println("Duplicate integers in given list is/are " + hTargetSet); } }
输出结果
使用以下文本创建的myCSV.csv文件
Duplicate integers in given list is/are [1, 3, 55, 22]