Set接口,存储无序的,不重复的元素
HashSet(主要实现类)
LinkHashSet
TreeSet

Set中常用的方法都是Collection 下定义的

Set s = new HashSet();
s.add(123);
s.add(456);
s.add("AA");
s.add("AA");   //这一行是不会被加进去的
s.add("BB");
//如果自定义的类型不重写hashCode()方法 和 equals()方法,那么就会被认为不重复
Person p1 = new Person("qinjianbo");
Person p2 = new Person("qinjianbo");
s.add(p1);
s.add(p2);   
s.add(null);   特殊之处,可以放null
System.out.println(set);   [null,AA,BB,456,123]  无序的,与输入的不一致
Set : 无序的不重复的!  但是无序性 != 随机性的  ,以上打印多次都是那个输出顺序  这个无序性是指数据在底层存储的位置是无序性  根据hash值来存

Set 中存储数据的方式,使用哈希算法
描述:当我们向Set 中添加元素(对象)时,首先调用该对象的hashCode()方法,算出这个对象的哈希值,此哈希值决定了这个对象存储的位置。若此位置之前没有对象,那么这个对象就放在这个位置。若此位置之前已经存储了对象,那么再调用对象的equals()方法来进行比较,如果返回true,则这个对象就不会被存进去了。
若返回false呢?那么就会都存储在一个位置
>要求:我们设计的hashCode() 和 equals() 尽量要保持一致
hashCode(){
final int prime = 31;
int result = 1;
result = prime * result +  ((arg == null) ? 0 : age.hashCode());
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}

java SE复习笔记54相关推荐

  1. Java基础复习笔记系列 九 网络编程

    Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...

  2. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

  3. 当年我们一起追过的Java,Java SE 个人笔记

    目录 JDK的安装和配置运行Java程序 java基本语法 面向对象 异常 多线程l API(Application Programming Interface)各种功能的类说明 集合类 IO输入输出 ...

  4. Java SE 学习笔记5 Java阶段复习

    计算机.Java基础 一.计算机 1.硬件介绍 2.中央处理器 3.比特(bit)和字节(byte) 4.内存 5.存储设备 6.输入和输出设备 二.Java介绍 1.常用的dos命令 2.java语 ...

  5. JAVA SE基础笔记

    第一天  JDK安装.快捷键.JAVA语言特点 1.Java语言的概述 1.1 Java语言的背景 Java语言诞生于1995年,在编程语言排行榜占据重要的地位. Java语言之父是高斯林,以前隶属于 ...

  6. [原创]java WEB学习笔记54:Struts2学习之路--- 编写Struts2 的第一个程序,HelloWord,简述 package ,action,result...

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  7. 尚学堂java SE学习笔记(未完待续)

    1.关于递归,一定要注意函数调用顺序! 图1 如上图:在执行f(n-1)+f(n-2)的过程中,先执行f(n-1)一直到f(n-1)有返回值才执行f(n-2). 2.  图2 注意成员变量和局部变量的 ...

  8. JAVA SE 学习笔记

    笔记 一·Java程序基础 代码练习合集 1.Hello,world 2.BMI 3.Grade 4.InputNum 5.Gamecaiquan 6.Main 7.Reserve_arrays 8. ...

  9. 面向对象程序设计(JAVA)复习笔记(下)

    文章目录 五.接口和多态 接口 塑型 多态 内部类 六.I/O与文件 输入输出流(java.io) 面向字符的流 面向字节的流 标准输入输出流 文件 二进制文件 FILE类 七.数组集合 对象数组 J ...

  10. JAVA SE学习笔记(七):终章:Java程序设计基础笔记(全10万字)

    Java程序设计入门 ​                                              copyright © 2020 by 宇智波Akali 目录 文章目录 第1章 J ...

最新文章

  1. JUC并发编程一 并发架构
  2. 一个用WPF做的简单计算器源代码
  3. Consul和ZooKeeper的区别
  4. 万能驱动助理篡改主页为2345的解决办法
  5. 串行通信的波特率高速和低速区别
  6. 创建 linuxrc 文件
  7. SQL Server 2012笔记分享-29:日志文件的工作方式
  8. kafka整理笔记笔记
  9. 收藏 | 2020年腾讯技术工程十大热门文章
  10. matplotlib 中文_详解Matplotlib中文字符显示问题
  11. Hybris Commerce Product字段名列表
  12. 【CodeForces - 260C】Balls and Boxes (思维模拟,有坑,时光倒流)
  13. Python分析《我们与恶的距离》豆瓣剧评
  14. 北京交通大学计算机学院篮球,院际杯篮球赛|男篮小组赛第四轮战报
  15. Flash制作空战游戏
  16. linux重装声卡驱动,linux声卡驱动重装
  17. 全国省市json文件,省市区json文件
  18. 读书笔记 | 财务会计理论(第7版 William R.Scott)(上)
  19. 那些不正经的前端笔试题
  20. Android Framebuffer介绍及使用

热门文章

  1. C语言52单片机串口中断,52单片机的中断及其使用方法
  2. excel填充序列_分分钟搞定10万个序号自动填充,拒绝加班,你还在手动输入吗?...
  3. 一个月攻克托业--复旦大学考生
  4. latex关于的报错问题及表格排版问题
  5. 从turtlesim到贪吃蛇……(补充)
  6. Camera和Image sensor技术基础笔记(2) -- Sensor的快门:全局快门(global shutter)和卷帘快门(rolling shutter)
  7. python爬取饿了么评论_爬虫实例:饿了么爬虫
  8. Win11怎么打开网络发现?Win11启用网络发现教程
  9. FINSTCP python2.5
  10. 凹点匹配 matlab源码,粘连类圆形目标图像的分割方法与流程