首页 > 编程语言 >【JAVA 基础 第(18)课】HashSet 使用方法详解

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

时间:2025-01-13 23:30:48浏览次数:3  
标签:JAVA HashSet 18 System add hs println new out

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


判断是否为重复的对象

  1. 比较hashCode()方法的返回值,如果不同,判定为不同的对象,如果相同,执行第二步
  2. 判断equals()方法的返回值,如果为true,则判为相同的对象,如果为false,则为不同的对象
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); 
		
	}
}

标签:JAVA,HashSet,18,System,add,hs,println,new,out
From: https://blog.csdn.net/xudahai513/article/details/145126205

相关文章

  • 【MSF代码审计】Java木源码分析
    免责声明由于传播、利用本文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,一旦造成后果请自行承担!很喜欢一位师傅说的话:"红队能有很多标准板和长板,但是不能有短板"。今天学习免杀,msf开源的可以分析代码,那就先来看看msf怎么写的吧开启分析之路1、......
  • Java基础
    数据类型强类型语言要求变量的使用要严恪符合规定,所有变量都必须先定义后才能使用,初始化(安全)而JavaScript是弱类型语言八大基本数据类型publicclassDemo02{publicstaticvoidmain(String[]args){//八大基本数据类型 //整数 intnum1=10;//最......
  • 05 Java数组
    数组概论数组是相同类型数据的有序集合。它由相同类型的若干数据按一定先后次序排列组合而成。其中每个数据叫数组元素,可通过下标来访问这些元素。数组声明创建要使用数组,得先声明数组变量,有两种语法:dataType[]arrayRefVar; //首选的方法或dataTypearrayRefVar[];......
  • Java流程控制
    用户交互Scannerimportjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){System.out.println("Helloworld!");//从键盘接收数据Scannerscanner=newScanner(System.in);//判断用户有......
  • Java方法
    java只有值传递方法的重载命令行传参有时候希望运行一个程序的时候再传递给他消息,这就要靠传递命令行参数给main()函数实现。publicclassDemo01{publicstaticvoidmain(String[]args){for(inti=0;i<args.length;i++){System.out.......
  • Java程序基础⑦Java继承和多态
    目录1.继承1.1引入继承1.2继承的概念和语法1.3父类成员访问1.4super关键字1.5 子类构造方法1.6继承时的初始化1.7 继承的方式1.8final关键字2.多态2.1多态的概念2.2多态的实现条件2.3重写2.4向上转型和向下转型2.4.1向上转型2.4.2向下转型2.5......
  • python bs4 selenium 查找a href=javascript:();的实际点击事件和url
    在使用BeautifulSoup和Selenium时,处理href="javascript:;"的链接需要一些额外的步骤,因为这些链接不直接指向一个URL,而是通过JavaScript代码来执行某些操作。这可能包括导航到另一个页面、触发模态窗口、显示/隐藏内容等。以下是如何使用Selenium来查找和处理这......
  • 18. 大学生HTML5期末大作业 ―【简单的旅游网页】 Web前端网页制作 html5+css3
    目录一、网页概述二、网页文件三、网页效果四、代码展示1.html2.CSS五、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强六、更多推荐一、网页概述本实例应用html5+css3,div+css布局,代码简单,带实验报告书。本网页支持如Dreamweaver、HBuilder、Text......
  • java第二章数组学习
    java第二章数组数组的概念和特点数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。特点数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。创建数组对象会在内存中开......
  • leetcode刷题记录(java)——参考代码随想录:数组 链表 哈希表
    四、题目之:代码随想录https://programmercarl.com/(1)代码随想录:数组704.二分查找classSolution{publicintsearch(int[]nums,inttarget){if(target<nums[0]||target>nums[nums.length-1]){return-1;}intleft=0......