`
jiangwenfeng762
  • 浏览: 288163 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

CollectionUtils的一个bug

 
阅读更多

CollectionUtils中求集合差集的方法有bug:

按照集合论的定义:

一般地,记A,B是两个集合,则所有属于A且不属于B的元素构成的集合,叫做集合A减集合B(或集合A与集合B之差),类似地,对于集合A、B,我们把集合{x∣x∈A,且x∉B}叫做A与B的差集,记作A-B(或A\B),即A-B={x|x∈A且x∉ B}(或A\B={x|x∈A且x ∉B},同理 B-A={x∣x∈B且x∉A} 叫做B与A的差集.

 

那么很显然,求如下a,b两个集合的差集:

A: {1,2,3,3,4,5}

B: {3,4,4,5,6,7}

 

结果应该是{1,2} 

 

但是调用subtract方法,运行结果却是:

 

{1,2,3}

一看code就了然了:

public static Collection subtract(final Collection a, final Collection b) {

        ArrayList list = new ArrayList( a );

        for (Iterator it = b.iterator(); it.hasNext();) {

            list.remove(it.next());

        }

        return list;

 

    }

 

它只把A中的第一个3删掉后,下次迭代就用4去比了。所以A中的第二个3留下了。

此外,这个方法的效率也不高,所以还是慎用吧

分享到:
评论

相关推荐

    bugfreee一个bug管理系统jsp+mysql

    总的来说,Bugfree是一个实用的bug管理系统,它充分利用了JSP的动态网页能力和MySQL的数据管理优势,为软件开发团队提供了一个便捷的工具,以更好地追踪、管理和解决项目中的bug,从而提升整个项目的质量和效率。...

    软件测试BUG清单分析说明

    如果一个BUG可以轻松地被重现,这表明问题可能具有普遍性,需要立即解决。测试人员应记录每次尝试重现BUG的难度,并据此给出相应的分数。例如,每次操作都能立即复现的BUG可得1分,而难以复现的BUG则得分更高。这样...

    软件测试Bug和bug生命周期中的各种状态

    2. Open(打开的):当一个 Bug 被指认为 New 之后,将其将给开发人员,开发人员将确认这是否是一个 Bug,如果是,开发组的负责人就将这个 Bug 指定给某位开发人员处理,并将 Bug 的状态设定为“Open”。 3. Fixed...

    bugfree2.0软件测试bug管理工具

    总的来说,BugFree 2.0 是一个实用的缺陷管理工具,尤其适合中小型企业或开源项目使用。通过有效的缺陷跟踪和团队协作,它能够帮助提升软件质量,优化开发流程。对于初次接触BugFree的用户,推荐先了解其基本概念和...

    bugfree,bug管理

    在软件开发中,bug是不可避免的,BugFree提供了一个高效的平台来记录、跟踪、修复这些问题,确保项目的顺利进行。 BugFree的主要功能包括: 1. **问题创建**:用户可以创建新的bug报告,包括详细描述bug的现象、...

    测试思考之bug缺陷趋势曲线图

    感触还是有的,现对于某几个相关的问题写了一些个人的想法,这次说的是关于bug曲线图的问题,  我们大部分人都知道所有的测试执行完成后,都会有测试报告,而测试报告的一个最关键的因素就是bug曲线图,一般都会有2...

    多轮测试BUG统计分析BUG趋势

    自己做的一个Bug统计图,大家相互参考,相互学习!

    BUG记录模版(带汇总、统计、分析功能)

    "BUG记录模版(带汇总、统计、分析功能)"是一个专门设计用于提高缺陷管理效率的文档模版,旨在为开发人员、测试人员和项目经理提供一个统一的标准格式,以便更有效地处理问题。 首先,让我们详细了解一下BUG模版的...

    Bug报告模板.docx

    Bug 报告模板 在软件测试和质量保证过程中,_bug 报告模板是一种非常重要的文档...Bug 报告模板是一个非常重要的文档工具,它可以帮助软件开发团队更好地记录和追踪软件中的缺陷和错误,从而提高软件的质量和可靠性。

    软件测试bug统计分析图表

    在这个过程中,bug统计分析图表成为了一种有效的数据可视化手段,帮助测试团队和项目管理者快速理解bug的分布情况、严重程度以及解决进度,从而做出更精准的决策。 ### 二、bug统计分析图表的作用 1. **可视化bug...

    bugfree bugfree bugfree bugfree bugfree

    bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree

    BugFree3.0.4导出BUG操作步骤

    BugFree是一个开源的缺陷跟踪系统,它允许项目团队对软件开发中的错误(bug)进行记录、跟踪和管理。BugFree3.0.4是BugFree的一个版本,导出BUG的操作步骤通常涉及到以下知识点: 1. BugFree系统环境配置:BugFree...

    TFS Bug管理使用教程

    **一、连接到团队项目** 在使用TFS进行Bug管理前,首先需要连接到你的团队项目。在VS的菜单栏中选择“团队” -> “连接到Team Foundation Server”。在弹出的对话框中添加服务器地址(向管理员获取),验证账户权限...

    Android-Buglife一个用于iOSApp的Bug报告SDK和Web平台

    Buglife是一个专门针对iOS应用的Bug报告SDK,同时也提供了一个Web平台,方便开发者管理和追踪这些bug。 **Buglife SDK** Buglife的SDK允许开发者轻松地将其集成到iOS应用中。通过简单的API调用,开发者可以在应用...

    禅道,BUG提交工具

    作为一个专业的IT大师,我将详细介绍禅道在BUG提交工具方面的优势以及如何有效地利用它进行软件质量管理。 首先,BUG提交工具是软件开发过程中不可或缺的一部分,它帮助团队跟踪、记录和解决软件中的问题。禅道在这...

    bug定义和返工率计算统计方法

    bug 定义是指在软件开发过程中出现的错误或缺陷,包括高级类、 中级类和低级类三个等级。高级类 bug 是指严重错误,如程序引起的死机、死循环、数据库死锁、存储业务逻辑错误和 SQL 语句性能或逻辑错误等。中级类 ...

    中文版bug系统下载 bug反馈系统

    一个高效、易用的Bug系统可以帮助团队更好地跟踪和解决开发过程中的问题,提高产品质量,缩短产品迭代周期。本文将围绕"中文版Bug系统下载与Bug反馈系统"这一主题,深入探讨其核心功能、应用场景以及如何有效利用该...

    bugzilla中导出的BUG列表查看方法

    此时,Bugzilla 将生成一个 CSV 文件,其中包含了 BUG 列表的详细信息。 二、转换 CSV 文件为 Excel 文档 要将 CSV 文件转换为 Excel 文档,需要使用 Microsoft Excel 或其他电子表格软件。在这里,我们将使用 ...

    android bugreport 分析

    Android bugreport是一个全面的系统日志文件,它包含了大量的系统信息,旨在帮助开发者诊断和解决Android设备上的问题。这个文件由一系列的子部分组成,每一部分都提供了关于系统不同方面的详细数据。接下来,我们将...

Global site tag (gtag.js) - Google Analytics