java 中如何 找出两个集合中的不重复的元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 中如何 找出两个集合中的不重复的元素相关的知识,希望对你有一定的参考价值。

循环第一个集合,在第二个集合中查找,就可以将第一个集合的数据分成,两类,
1类是再第二个集合有的,一类是在第二个集合中没有的。
这样,才把第二个集合中有的作为一个新集合,循环第二个集合的时候只需要对比就行了,去掉第二个集合中包含新集合里面的数据,剩下的,加上第一个集合就等于是不重复的,
重复的也就是新集合,这样两类都算是找出来了。只用循环查找和对比就可以了。没有技术难度。
参考技术A You can try to use Java's Set and Set's removeAll() method, for example:

import java.util.HashSet;
import java.util.Set;

public class Test

public static void main(String[] args)

Set<Integer> a = new HashSet<Integer>();
Set<Integer> b = new HashSet<Integer>();

a.add(1);
a.add(2);

b.add(2);
b.add(3);

Set<Integer> a1 = new HashSet<Integer>();
Set<Integer> b1 = new HashSet<Integer>();

a1.addAll(a);
b1.addAll(b);

System.out.println("a1 as the clone of a:"+a1);
System.out.println("b1 as the clone of b:"+b1);

a1.removeAll(b);
b1.removeAll(a);

System.out.println("In a but not in b:"+a1);
System.out.println("In b but not in a:"+b1);




Console output:

a1 as the clone of a:[1, 2]
b1 as the clone of b:[2, 3]
In a but not in b:[1]
In b but not in a:[3]本回答被提问者和网友采纳
参考技术B for循环A,内层循环B
如果B中有元素与当前A循环相等,移除B中此元素,B循环完成,移除A中此元素,如果没有相等的,继续阁下循环
最后A,B里面剩下的就是不重复元素了
思路就是这样了
参考技术C 循环 参考技术D 循环比较!应该可以!

java lambda 数组如何去重复

参考技术A List<int> ages = new List<int> 21, 46, 46, 55, 17, 21, 55, 55 ;

IEnumerable<int> distinctAges = ages.Distinct();

Console.WriteLine("Distinct ages:");

foreach (int age in distinctAges)

Console.WriteLine(age);
本回答被提问者采纳

以上是关于java 中如何 找出两个集合中的不重复的元素的主要内容,如果未能解决你的问题,请参考以下文章

找出数组 arr 中重复出现过的元素

编写程序,找出数组a中前n个元素中的最小元素及其下标

js数组方法——找出两数组中不相同的元素的集合

set集合——无序的不重复元素序列

java中怎么样子找出数组中重复的数,并去除

java lambda 数组如何去重复