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 中如何 找出两个集合中的不重复的元素的主要内容,如果未能解决你的问题,请参考以下文章