【JAVA 基础 第(18)课】HashSet 使用方法详解

news/2025/1/15 2:01:13/

HashSet:Set 接口的实现类,存放无序的,不可重复的元素


判断是否为重复的对象

  1. 比较hashCode()方法的返回值,如果不同,判定为不同的对象,如果相同,执行第二步
  2. 判断equals()方法的返回值,如果为true,则判为相同的对象,如果为false,则为不同的对象
java">public class HashSetTest {public static void main(String[] args) {//创建一个空的集HashSet hs = new HashSet();//增加hs.add("hello");		//如果集中不存在该元素,则添加该元素hs.add(new String("hello"));  //重复的元素(依据equals比较)无法添加hs.add(123);hs.add(null);hs.add(new Object());Object obj = new Object();hs.add(obj);hs.add(true);//添加学生hs.add(new Student(1001,"张三"));hs.add(new Student(1001,"张三"));   //重复的对象,通过重写了类中的hashCode()和equals()//删除hs.remove("hello");		//删除指定的元素hs.remove(obj); //遍历的两种方式System.out.println("--简洁for循环--");for(Object o:hs){System.out.println(o);}System.out.println("--集合专用的迭代器--");Iterator it = hs.iterator();while(it.hasNext()){Object o = it.next();System.out.println(o);it.remove();              //删除迭代出来的元素必须通过迭代器的方法			}		//测试是否为空System.out.println("集是否空?"+hs.isEmpty());//输出集System.out.println(hs); }
}


http://www.ppmy.cn/news/1563194.html

相关文章

GPU与CPU:架构对比与技术应用解析

1. 引言 1.1 为什么探讨GPU与CPU的对比? 随着计算技术的不断发展,GPU(图形处理单元)和CPU(中央处理单元)已经成为现代计算机系统中最重要的两个组成部分。然而,随着应用场景的多样化和对性能需…

C语言:内存中程序是如何运行的

程序是保存在硬盘中的,要载入内存才能运行,CPU 也被设计为只能从内存中读取数据和指令。 对于 CPU 来说,内存仅仅是一个存放指令和数据的地方,并不能在内存中完成计算功能,例如要计算 a b c,必须将 a、b、…

使用WeakHashMap实现缓存自动清理

使用 WeakHashMap 实现缓存自动清理 在 Java 中,内存管理是一个重要的话题,尤其是在涉及到缓存的实现时。如果缓存项不再被使用,我们希望它们能被自动清理,而不必手动删除。WeakHashMap 就是 Java 提供的一种用于缓存和内存管理的…

OpenCV实现基于拉普拉斯算子的浮雕特效

图像浮雕效果的实现原理主要基于图像处理技术,特别是利用图像中像素之间的灰度差异来模拟立体感。以下是对该原理的详细解释: 一、浮雕效果的基本概念 浮雕是把所要呈现的图像突起于材质表面,根据凹凸的程度不同从而形成三维的立体感。在计…

http和https有哪些不同

http和https有哪些不同 1.数据传输的安全性:http非加密,https加密 2.端口号:http默认80端口,https默认443端口 3.性能:http基于tcp三次握手建立连接,https在tcp三次握手后还有TLS协议的四次握手确认加密…

前端防止XSS攻击的原理和方法

1.XSS定义 跨站脚本攻击(Cross-Site Scripting),是一种常见的网络安全威胁。攻击者通过在目标网站上注入恶意脚本,使得这些脚本在用户的浏览器上执行,从而窃取用户信息或进行其他恶意操作。 2.XSS类型 …

CSS语言的语法

CSS语言的语法与应用 CSS(层叠样式表,Cascading Style Sheets)是一种用于描述网页文档外观的样式表语言。它主要用于网页的设计和布局,与HTML(超文本标记语言)相辅相成。通过CSS,我们可以控制网…

【嵌入式常识篇】一个C项目工程在IDE中是怎么一步步编译成一个固件包的

前言:初学C语言的时候是在Linux环境下,那时候只知道需要通过GCC工具编译成可执行文件才可以在运行,后来进入到了嵌入式行业发现需要IDE将一个C项目工程编译成一个固件包,那时候经常会产生一个疑问:一个C项目工程在IDE中…