java SE复习笔记54
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相关推荐
- Java基础复习笔记系列 九 网络编程
Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...
- Java基础复习笔记系列 七 IO操作
Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...
- 当年我们一起追过的Java,Java SE 个人笔记
目录 JDK的安装和配置运行Java程序 java基本语法 面向对象 异常 多线程l API(Application Programming Interface)各种功能的类说明 集合类 IO输入输出 ...
- Java SE 学习笔记5 Java阶段复习
计算机.Java基础 一.计算机 1.硬件介绍 2.中央处理器 3.比特(bit)和字节(byte) 4.内存 5.存储设备 6.输入和输出设备 二.Java介绍 1.常用的dos命令 2.java语 ...
- JAVA SE基础笔记
第一天 JDK安装.快捷键.JAVA语言特点 1.Java语言的概述 1.1 Java语言的背景 Java语言诞生于1995年,在编程语言排行榜占据重要的地位. Java语言之父是高斯林,以前隶属于 ...
- [原创]java WEB学习笔记54:Struts2学习之路--- 编写Struts2 的第一个程序,HelloWord,简述 package ,action,result...
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- 尚学堂java SE学习笔记(未完待续)
1.关于递归,一定要注意函数调用顺序! 图1 如上图:在执行f(n-1)+f(n-2)的过程中,先执行f(n-1)一直到f(n-1)有返回值才执行f(n-2). 2. 图2 注意成员变量和局部变量的 ...
- JAVA SE 学习笔记
笔记 一·Java程序基础 代码练习合集 1.Hello,world 2.BMI 3.Grade 4.InputNum 5.Gamecaiquan 6.Main 7.Reserve_arrays 8. ...
- 面向对象程序设计(JAVA)复习笔记(下)
文章目录 五.接口和多态 接口 塑型 多态 内部类 六.I/O与文件 输入输出流(java.io) 面向字符的流 面向字节的流 标准输入输出流 文件 二进制文件 FILE类 七.数组集合 对象数组 J ...
- JAVA SE学习笔记(七):终章:Java程序设计基础笔记(全10万字)
Java程序设计入门 copyright © 2020 by 宇智波Akali 目录 文章目录 第1章 J ...
最新文章
- JUC并发编程一 并发架构
- 一个用WPF做的简单计算器源代码
- Consul和ZooKeeper的区别
- 万能驱动助理篡改主页为2345的解决办法
- 串行通信的波特率高速和低速区别
- 创建 linuxrc 文件
- SQL Server 2012笔记分享-29:日志文件的工作方式
- kafka整理笔记笔记
- 收藏 | 2020年腾讯技术工程十大热门文章
- matplotlib 中文_详解Matplotlib中文字符显示问题
- Hybris Commerce Product字段名列表
- 【CodeForces - 260C】Balls and Boxes (思维模拟,有坑,时光倒流)
- Python分析《我们与恶的距离》豆瓣剧评
- 北京交通大学计算机学院篮球,院际杯篮球赛|男篮小组赛第四轮战报
- Flash制作空战游戏
- linux重装声卡驱动,linux声卡驱动重装
- 全国省市json文件,省市区json文件
- 读书笔记 | 财务会计理论(第7版 William R.Scott)(上)
- 那些不正经的前端笔试题
- Android Framebuffer介绍及使用
热门文章
- C语言52单片机串口中断,52单片机的中断及其使用方法
- excel填充序列_分分钟搞定10万个序号自动填充,拒绝加班,你还在手动输入吗?...
- 一个月攻克托业--复旦大学考生
- latex关于的报错问题及表格排版问题
- 从turtlesim到贪吃蛇……(补充)
- Camera和Image sensor技术基础笔记(2) -- Sensor的快门:全局快门(global shutter)和卷帘快门(rolling shutter)
- python爬取饿了么评论_爬虫实例:饿了么爬虫
- Win11怎么打开网络发现?Win11启用网络发现教程
- FINSTCP python2.5
- 凹点匹配 matlab源码,粘连类圆形目标图像的分割方法与流程