set集合关系及特点
目录
set集合的特点
set集合的遍历方式
HashSet哈希表储存,重复元素储存底层探究
TreeSet(自然排序,比较器排序)
set集合的特点
延续上篇list集合,set集合与list集合为同级,在set集合中包括一个接口SortedSet和一个实现类HashSet。常用的实现类为HashSet与TreSet.
set集合的特点与list集合正好相反
①无序
②不可重复
但set集合中的无序并不是绝对意义上的排序,而是以哈希表为基准的排序(下面有解释)。
set集合的遍历方式
在list集合中有三种便利方式,而在set集合中只有两种遍历方式,正因为set集合为无序排序所以只能用fore遍历和iterator(迭代器)遍历。
for (Object object : set) {System.out.println(object);}System.out.println("---------");Iterator iterator=set.iterator();while (iterator.hasNext()) {Object next= iterator.next();System.out.println(next);}
HashSet哈希表储存,重复元素储存底层探究
set集合去重原理:hashset底层数据结构是哈希表有限会调用hashset方法对比地址然后调用equals方法对比值
@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((sex == null) ? 0 : sex.hashCode());result = prime * result + ((sid == null) ? 0 : sid.hashCode());result = prime * result + ((sname == null) ? 0 : sname.hashCode());return result;}
TreeSet(自然排序,比较器排序)
自然排序
TreSet自然排序首先要实现
Serializable,Comparable<Student>
两个接口然后重写下面的方法;
//比较重写@Overridepublic int compareTo(Student o) {//比较的结果有 1.>0 2.<0 3.=0return this.getSname().hashCode()-o.getSname().hashCode();}
比较器排序
创建比较类,实现
Comparable<Student2>
public class NameComparator implements Comparator<Student2> {//String以Ascll码进行比较,返回差值@Overridepublic int compare(Student2 arg0, Student2 arg1) {if(arg0.getSid()-arg1.getSid()>0) {return 100;}else if(arg0.getSid()-arg1.getSid()<0){return -100;}else {return 0;}}
set集合关系及特点相关推荐
- Python集合关系解读:Python语言中都有哪些集合关系?
数学中,两个集合关系的常见操作包括:交集.并集.差集.补集.设A.B是两个集合,集合之间的关系如下. (1)交集是指属于集合A且属于集合B的元素所组成的集合. (2)并集是指集合A和集合B的元素合并在 ...
- 离散数学之集合关系(赋代码实现版)
前言 最近在学习离散数学,在这里给大家总结一下离散数学的集合关系吧 自反性 对称性 传递性 并且我用代码给大家实现了一下,但是代码测试的并不多,不晓得有没有bug,大家若留了这方面的作业,可拿去一测
- 很全的路由器默认初始密码集合.txt_UpSet——集合关系可视化神器
学习更多生信小技巧,点上方蓝字关注我们 分析背景 01 提到集合的可视化,大家第一时间想到的是用Venn图来展示,在前期的推文中,小编也给大家分享了venn图的绘制方法.然而,值得一提的是,小编分享的 ...
- 史上最全Java集合关系图
- 判断集合关系(自反,反自反,对称,反对称,传递)
具体代码如下 1 #include<iostream> 2 using namespace std; 3 4 void Input(int a[25][2],int s) 5 { 6 in ...
- Python中怎样改变集合之间的关系?
Python中怎样改变集合之间的关系?数学中,两个集合关系的常见操作包括:交集.并集.差集.补集.设A,B是两个集合,集合关系的操作介绍如下: 交集是指属于集合A且属于集合B的元素所组成的集合, 并集 ...
- 离散数学知识点总结(10)“关系” 知识的总结 <1>:关系的基础概念 —— 有序 n 元组,集合的笛卡尔积,集合的关系(二元关系)的定义,关系的集合运算, 关系的基本性质
文章目录 有序 n 元组和集合的笛卡尔积 序偶关系 有序二元组 序偶相等 有序三元组 有序n元组 有序 n 元组相等 集合的笛卡尔积 集合笛卡尔积的性质 集合的二元关系及其表示方法 相关 关系的定义 ...
- 魔术里的集合、映射和关系(七)——情怀之作《连环预言》的魔术魅力
在前面的作品中,我们用了3篇的篇幅来讲解集合,映射和关系的这些数学概念:4,5两篇进入了魔术部分,给大家分享了一个优雅的作品<4 Kings 折纸>:上一篇就<连环预言>这个充 ...
- 离散数学之三 集合与关系
目录 一.集合的概念与表示 1.集合的概念 2.集合元素的性质 3.集合的描述方法 1. 列举法 3. 叙述法 3. 文氏图 4.集合的关系 5.特殊的集合 1. 空集 2. 全集 3. 幂集 二.集 ...
最新文章
- pytorch中调整学习率的lr_scheduler机制
- 电信 IPRAN 设备组网方案_国内首家5G核心网电信设备进网许可证;电信5G网络增强方案获认可;美国最大规模毫米波拍卖...
- 漫谈强化学习中的引导搜索策略
- [二]RabbitMQ-客户端源码之AMQConnection
- android中解析后台返回的json字符串
- bzoj3389:[Usaco2004 Dec]Cleaning Shifts安排值班
- camera android 版本,Camera for Android
- 基于PHP的个人博客网站系统
- drawboard pdf拆分文件_Drawboard PDF 免费版
- ppt中的流程图怎么整体移动_教你两招,把复杂的流程图PPT排版简单化
- iOS 图片遮罩动画,图片逐渐显示
- VIVO NEX3高层预热,差0.4到100%屏占比,这得让多少人心动
- 贺泓胜:2.24黄金今日走势分析操作建议,黄金原油解套指导
- 《少年pi》:每个人心中都有一只孟…
- Vue中qs插件的使用
- 985的计算机专业硕士就业如何,985高校硕士就业率排名出炉!西安交大第一
- SprinBoot+Jpa实现1024社区系统的最新职位推荐和最热职位推荐
- 060201面积-定积分在几何学上的应用-定积分的应用
- JavaWeb学习案例——学生管理系统
- 【高分】ubuntu 、打开USB摄像头、Linux、USB摄像头驱动