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]]

java 去重元素,元素是一组没有顺序的字符的更多相关文章

  1. 《手把手教你》系列技巧篇(十五)-java+ selenium自动化测试-元素定位大法之By xpath中卷(详细教程)

    1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. ...

  2. 《手把手教你》系列技巧篇(十九)-java+ selenium自动化测试-元素定位大法之By css下卷(详细教程)

    1.简介 按计划今天宏哥继续讲解css的定位元素的方法.但是今天最后一种宏哥介绍给大家,了解就可以了,因为实际中很少用. 2.常用定位方法(8种) (1)id(2)name(3)class name( ...

  3. java selenium (五) 元素定位大全

    页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法.  测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 阅读目录 自动化测试步骤 ...

  4. justify-content 定义子元素在父元素水平位置排列的顺序

    justify-content 定义子元素在父元素水平位置排列的顺序,需要和display:flex使用才会生效. 有五个属性: 1.flex-start(默认值)  左对齐 2.flex-end 右 ...

  5. 《手把手教你》系列技巧篇(十四)-java+ selenium自动化测试-元素定位大法之By xpath上卷(详细教程)

    1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. ...

  6. 《手把手教你》系列技巧篇(十六)-java+ selenium自动化测试-元素定位大法之By xpath下卷(详细教程)

    1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. ...

  7. 《手把手教你》系列技巧篇(十七)-java+ selenium自动化测试-元素定位大法之By css上卷(详细教程)

    1.简介 CSS定位方式和xpath定位方式基本相同,只是CSS定位表达式有其自己的格式.CSS定位方式拥有比xpath定位速度快,且比CSS稳定的特性.下面详细介绍CSS定位方式的使用方法.xpat ...

  8. 《手把手教你》系列技巧篇(十八)-java+ selenium自动化测试-元素定位大法之By css中卷(详细教程)

    1.简介 按计划今天宏哥继续讲解倚天剑-css的定位元素的方法:ID属性值定位.其他属性值定位和使用属性值的一部分定位(这个类似xpath的模糊定位). 2.常用定位方法(8种) (1)id(2)na ...

  9. Java交换数组元素

    Java 交换数组元素 代码示例 import java.util.Arrays; import java.util.Collections; import java.util.List; impor ...

  10. Cause: org.xml.sax.SAXParseException; lineNumber: 45; columnNumber: 62; 元素内容必须由格式正确的字符数据或标记组成。

    三月 09, 2018 12:13:39 下午 org.apache.catalina.core.StandardContext listenerStart严重: Exception sending ...

随机推荐

  1. CSS – Font / Text 属性

    前言 之前学 W3Schools 时记入过一些 W3Schools 学习笔记 (1) – CSS Fonts. 由于太简单就没有另外写一篇, 现在感觉内容比较整齐了, 所以整理一篇出来. 属性 fon ...

  2. DOM – Web Animation API

    前言 以前写过相关的文章 angular2 学习笔记 ( animation 动画 ).但在项目种很少用到 Web Animation. 体会不到它的精髓,目前的感觉是,它对比 CSS Animati ...

  3. Java 之跨docker容器备份数据库

    Java 之跨docker容器备份数据库 摘] java中执行数据库备份,每隔10分钟备份一次,保留四份备份文件,项目在windows系统下运行备份命令没问题.项目采用docker部署后,jar部署在 ...

  4. EntityFramework Core并发迁移解决方案

    场景 目前一个项目中数据持久化采用EF Core + MySQL,使用CodeFirst模式开发,并且对数据进行了分库,按照目前颗粒度分完之后,大概有一两百个库,每个库的数据都是相互隔离的. 借鉴了G ...

  5. QT框架中的缓存:为什么有QHash和QMap,还设计了QCache和QContiguousCache?

    简介 本文介绍了QT框架中可用于缓存的几个数据类型各自的特点:通过本文读者可以了解到为什么有QHash和QMap,还设计了QCache和QContiguousCache? 目录 QHash和QMap有 ...

  6. JS数据类型&类型转换

    基本数据类型 JS中的数据类型由原始值和对象共同组成,原始值一共有七种原始值: 数值(Number) 大整数(BigInt) 字符串(String) 布尔值(Boolean) 空值(Null) 未定义 ...

  7. 简单粗暴的实现 Blazor Server 登录鉴权

    既然是简单粗暴,那么就不用关心诸如 IDentityServer4,OAuth 之类的组件,也不使用 AuthenticationStateProvider.IAuthService, razor 页 ...

  8. go 实现sse

    package chat import ( "encoding/json" "github.com/zeromicro/go-zero/core/logx" & ...

  9. base64 是什么,有什么作用?

    base64 是图片编码的一种形式,可以替代图片的url进行网络访问和请求等操作: 使用图片的url形式操作图片,每次都要请求一次网络,因为每次请求都是一个http:都是一个网络开销,都是对服务器的负 ...

  10. Vue中如何自定义过滤器 ?

    过滤器可以格式化我们所需要的数据格式  : 自定义过滤器分为全局和局部过滤器: 全局过滤器在 main.js 中使用 Vue.direct4ive( 过滤器名字,定义过滤器的具体行为函数 ) : 局部 ...