java 集合中查找重复的、不重复的元素
1.在一个集合中找到重复的元素?
Integer[] arr = {1,2,1,2,3,3,4,5,6,1,2,7}; // 找出集合中重复的有哪些 Set<Integer> Set = new HashSet<>(); for(int i=0;i<arr.length;i++){// 对元素进行遍历取出各个元素 for(int j=0;j<arr.length;j++){// 再将各个元素与其比较 if(j!=i){// 元素本身不比较的情况下,还能遇到重复的那说明 // 说明了什么,这个元素重复了 if(arr[i]==arr[j]){ Set.add(arr[i]);// 查找到相同元素就加入到set集合里 } } } } System.out.println(Set);
输出结果:[1,2,3]
在查找到重复的基础上,可以直接去查找不重复的:
// 查找不重复的 for (int i = 0; i < arr.length; i++) { if(!Set.contains(arr[i])){ System.out.println(arr[i]); } }
输出结果: 4 5 6 7
2.在一个集合中找到不重复的元素?
// 找出集合中不重复的有哪些 Integer[] arr1 = {1,1,1,2,3,3,2,2,6,7}; for (int i = 0; i < arr1.length; i++) { //对元素进行遍历取出各个元素 int count = 0; //计数,如果遇到相同的++ for (int j = 0; j < arr1.length; j++) { //再将各个元素与其比较 if(arr1[i] == arr1[j]){ // 如果相等 count++; //++,重复的情况,遇到相同的次数那简直不要太多 } } if(count == 1){ // 而没有重复的,它只会和它自己遇到一次,仅此一次,所以也只会是1 System.out.println(arr1[i]); } }
输出结果:[6,7]
在此,祝各位帅哥美女,步步高升,一帆风顺!!!
下一篇:
【Linux】子进程的异步等待方式