`
frinder
  • 浏览: 38661 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

取得两个集合中不同元素(去除两个集合中的相同元素)

 
阅读更多
/**
* 获取两个集合的不同元素
*
* @param collmax
* @param collmin
* @return
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static Collection getDiffent(Collection collmax, Collection collmin)
{
//使用LinkeList防止差异过大时,元素拷贝
Collection csReturn = new LinkedList();
Collection max = collmax;
Collection min = collmin;
//先比较大小,这样会减少后续map的if判断次数
if (collmax.size() < collmin.size())
{
max = collmin;
min = collmax;
}
//直接指定大小,防止再散列
Map<Object, Integer> map = new HashMap<Object, Integer>(max.size());
for (Object object : max)
{
map.put(object, 1); //保存集合1中的所有元素
}
for (Object object : min)
{
if (map.get(object) == null)
{
csReturn.add(object); //保存集合1中不存在的集合2的元素
} else
{
map.put(object, 2); //用集合2的元素覆盖集合1、集合2中的元素,此时所有value=1的元素则是集合1独有的元素
}
}


//将value=1的元素添加到集合中,至此,则得到了集合1、集合2中所有的不同元素
for (Map.Entry<Object, Integer> entry : map.entrySet())
{
if (entry.getValue() == 1)
{
csReturn.add(entry.getKey());
}
}
return csReturn;

}



原文:http://www.cnblogs.com/czpblog/archive/2012/08/06/2625794.html







分享到:
评论

相关推荐

    两个集合比较(新增、编辑、删除)

    本文将深入探讨如何比较两个集合,并关注在Java中使用List进行对比时的“新增”、“编辑”和“删除”操作。首先,我们需要理解集合的基本概念。集合是存储一组元素的数据结构,而List是一种有序的集合,允许重复元素...

    取两个集合的交集

    两个集合的交集指的是同时存在于这两个集合中的元素所组成的集合。例如,如果集合A={1, 2, 3, 4},集合B={3, 4, 5, 6},那么它们的交集就是{3, 4}。 #### 2. 交集的计算方法 计算两个集合的交集可以采用多种方法,...

    两个list比较 取不同的对象

    - 这种方法可以有效地找到两个列表中的不同元素。 4. **算法优化**: - 在示例代码中,注意到使用了嵌套循环来实现比较功能。这种做法虽然简单直接,但在大数据量下效率较低。 - 更高效的方法是使用哈希表(例如...

    C语言中求集合的交并差集

    - 交集:两个集合A和B的交集是一个新的集合,包含所有同时属于集合A和集合B的元素。 - 并集:两个集合A和B的并集是一个新的集合,包含所有属于集合A或集合B(或者同时属于两者)的元素。 - 差集:集合A与集合B的差集...

    数据结构课程设计之集合运算

    4. 对称差集(Symmetric Difference):即两个集合中不共有的元素。可以通过两次差集运算得到,或者先求交集再求两集合的并集,去掉交集部分。 5. 子集(Subset)和真子集(Proper Subset):判断一个集合是否是另...

    多个数组中的元素集合到一个数组中并输出

    `Union()`方法也是LINQ的一部分,用于返回两个序列的唯一元素集合并删除重复项。在这个场景下,如果数组元素有重复,它会自动去除。但如果数组元素无重复,`Union()`等同于`Concat()`。 ```csharp int[] ...

    第五章幼儿感知集合的发展与教育(PPT33页).ppt

    集合的运算主要有交集(两个集合共有的元素)、并集(两个集合所有元素的组合)和补集(在一个集合中去掉另一个集合的元素)。这些概念在生活中广泛存在,如在整理物品时,可以将物品按照颜色、形状等特性进行分类,...

    2021届高考数学一轮复习第一部分考点通关练第一章集合与常用逻辑用语考点测试1集合含解析新人教B版

    两个集合的并集包含了两个集合的所有元素,而交集则是两个集合共有的元素。学会求解两个简单集合的并集与交集对于解答高考题目至关重要。 补集的概念是在给定集合中,所有不属于该集合的元素组成的集合。求一个子集...

    LabVIEW 删除数组中重复元素实例

    "LabVIEW 删除数组中重复元素实例"这个标题表明我们将会讨论如何在LabVIEW中有效地识别并移除数组中的重复元素,以获得一个唯一的元素集合。下面将详细阐述这一过程。 首先,我们要了解LabVIEW中的数组。LabVIEW是...

    集合论Set theory

    如果两个集合的元素完全相同,则这两个集合相等;如果一个集合的所有元素都是另一个集合的元素,则前者包含于后者;如果一个集合包含于另一个集合,但不等于后者,则前者真包含于后者。 5. **无限集合与有限集合**:...

    数据结构之集合的并、交和差运算

    这需要对两个集合进行比较,从第一个集合中去除出现在第二个集合中的元素。在实际编程中,可以先遍历第一个集合,然后检查每个元素是否存在于第二个集合,若不在则加入结果集合。 在提供的压缩包中,"集合的并、交...

    数理逻辑与集合论(第二版)精要与题解

    - **扩展性公理**:如果两个集合具有相同的元素,则这两个集合相等。 - **空集公理**:存在一个不含任何元素的集合。 - **对集公理**:对于任意两个对象a和b,存在一个包含a和b作为唯一元素的集合{a, b}。 - **无穷...

    vb两个数组去除相同值或只要相同值简单例子

    如果我们想要创建一个新的数组,只包含两个原数组中不重复的元素,我们可以使用集合(HashSet)数据结构,因为它不允许重复项: ```vb Dim uniqueValues As New HashSet(Of Integer) For Each value In arr1 ...

    jihe.rar_集合 交并差 运算_集合 运算_集合运算

    在C++中,可以使用`set_union`函数或者直接将两个集合合并到一个容器中,然后去除重复元素。 最后,差集(Difference)运算返回第一个集合中存在但不在第二个集合中的元素。对于A和B,A-B(或B-A,根据需求)得到{1...

    数据库课设—集合交,并,差

    2. **集合并集**:并集(UNION)返回两个集合的所有元素,去除重复项。在数据库查询中,这用于合并两个或更多表的结果,但不包括重复的行。如果两个表中都有相同的记录,这些记录只会在结果集中出现一次。 3. **...

    简单的集合运算

    4. **对称差集(Symmetric Difference)**:对称差集操作符`^`或`symmetric_difference()`函数用于找出两个集合中互不相同的元素。例如: ```python set_a = {1, 2, 3} set_b = {3, 4, 5} symmetric_diff = set...

    集合类的菜单界面

    5. **并集**:并集操作则将两个集合的所有元素都添加到结果集合中,但需去除重复元素。 6. **差集**:差集操作返回只存在于一个集合但不在另一个集合中的元素。 四、菜单界面设计 为了提供用户友好的交互,需要设计...

    数学高一必修同步练习题第一章集合.pdf

    并集表示两个集合的所有元素合并在一起形成的集合,交集表示两个集合共有的元素形成的集合,差集表示在第一个集合中但不在第二个集合中的元素,补集则表示在全集中的所有元素中去除原集合的元素。 5. 集合的表示...

    2012年江苏各地高考模考试题汇编第1部分集合.doc

    - 并集(∪):两个集合的所有元素合并在一起,但不包括重复元素。如A∪B包含A和B的所有元素。 - 交集(∩):两个集合共有的元素组成新的集合。如A∩B只包含同时在A和B中的元素。 - 差集(-):在第一个集合中...

    高中集合测试题答案.doc

    并集是指两个集合的所有元素合并在一起形成的集合,交集是两个集合共有的元素构成的集合,差集是第一个集合中去掉第二个集合中元素后的集合,补集是全集中去掉该集合元素剩下的部分。 3. **子集与真子集** 如果集合...

Global site tag (gtag.js) - Google Analytics