JAVA中两个数组比较的问题

我在页面上有一个公司类型的checkbox,现在是这样的,我在加载这个checkbox页面的时候会从后台传入我以前选过的公司类型,然后问题是:比如我现在加载页面的时候传入的是2,3,4,6这4个类型,然后我修改以后选中的是1,3,7这3个类型,由于类型变了,我现在想把本来有,但是现在没选中的2,4,6这3个类型在数据库中删除,然后添加1,7这两天数据,但是在JAVA中要怎么进行判断呢

String mrcType = entity.getMrcType();

    List<RelatedCompanyType> companyTypes = relatedCompanyTypeService
            .selectRelatedCompanyTypeByCompCode(entity.getMrcCode());
    List<RelatedCompanyType> needDelRelatedCompanyType = new ArrayList<RelatedCompanyType>();

    if (StringUtils.isNotBlank(mrcType)) {
        StringBuffer hasExitTypeBuf = new StringBuffer();
        for (RelatedCompanyType relatedCompanyType : companyTypes) {
            if (!mrcType.contains(relatedCompanyType.getCompTypeCode())) {
                needDelRelatedCompanyType.add(relatedCompanyType);
                companyTypes.remove(relatedCompanyType);
            }
            hasExitTypeBuf.append(relatedCompanyType.getCompTypeCode());
        }
        String[] mrcTypes = mrcType.split(",");
        for (String type : mrcTypes) {
            if (!hasExitTypeBuf.toString().contains(type)) {
                RelatedCompanyType relatedCompanyType = new RelatedCompanyType();

                companyTypes.add(relatedCompanyType);
            }
        }
        entity.setCompanyTypes(companyTypes);
    } else {
        needDelRelatedCompanyType = companyTypes;
    }

已经实现了

如果一定要用Java实现,……那就手写呗……如果觉得不优雅可以导一个Guava包,Sets类里有求两个Set差集的静态方法
其实,这种业务反正也要全量更新,好像根本不需要关注类型具体的变化?

 你这三个类型值是怎么存的呢,直接用页面当前选择的值,修改原来的值就行了啊,你这就是一个修改操作吧 。