java 去重元素,元素是一组没有顺序的字符

1、需求描述:

有一个大集合,大集合中的元素是是一个小集合,要求在大集合中的小集合不能重复,小集合中的元素没有顺序。

例如有个大集合 \[a,b,b,c] 向这个元素中添加元素b,a就是添加重复元素因为与a,b是一样的都包含a,b 添加c,d就可以。

2、实现代码

复制代码
public static void main(String[] args) {

        List<Collection<String>> listOfCollections = new ArrayList<>();

        Set<String> set = new HashSet<>();
        set.add("a");
        set.add("b");
        listOfCollections.add(set);
        System.out.println("集合起始元素:"+listOfCollections);

        Set<String> set1 = new HashSet<>();
        set1.add("b");
        set1.add("a");

        //判断是否重复
        for (Collection<String> col : listOfCollections) {
            //没有重放入
            if (!col.equals(set1)) {
                listOfCollections.add(set1);
                break;
            }else{
                System.out.println("1-这组元素已经有了!");
            }
        }
        System.out.println("集合添加set1元素:"+listOfCollections);

        Set<String> set2 = new HashSet<>();
        set2.add("a");
        set2.add("c");

        //判断是否重复
        for (Collection<String> col : listOfCollections) {
            //没有重放入
            if (!col.equals(set2)) {
                listOfCollections.add(set2);
                break;
            }else{
                System.out.println("2-这组元素已经有了!");
            }
        }
        System.out.println("集合添加set2元素:"+listOfCollections);
    }

3、输出结果

集合起始元素:\[a, b]

1-这组元素已经有了!

集合添加set1元素:\[a, b]

集合添加set2元素:\[a, b, a, c]

相关推荐
码匠许师傅5 小时前
【C++ 面试真题】27. 聊聊 C++ 的内存泄漏与内存布局
java·c++·面试
PPPPickup6 小时前
金证秋招笔试
java·开发语言
不正经学生6 小时前
C语言结构体:自定义数据类型,让变量打包出行
java·c语言·开发语言·数据结构·算法
ycjunhua6 小时前
Spring AI 2.0 GA:ToolCallingAdvisor 重构与 Java Agent 新范式
java·人工智能·spring
开源必胜7 小时前
Future的异常处理以及CompletableFuture传播链、异常处理
java
林森lsjs8 小时前
队列 FIFO 原理 & 手撕两种队列实现(链表 + 循环数组)—数据结构陆
java·开发语言·数据结构·队列
lisin-lee-cooper8 小时前
简单聊聊 OpenFeign 框架源码
java·微服务
Buke..8 小时前
【APP 逆向】哔哩哔哩 sign 参数逆向(下):OLLVM 混淆还原 sign 算法
java·javascript·爬虫·python·算法
linux-hzh9 小时前
百日算法修炼 · Day 15
java·算法
半生过往9 小时前
前端学 Java 课程笔记
java·前端·笔记