java集合——HashSet的用法「建议收藏」

java集合——HashSet的用法「建议收藏」java集合——HashSet的用法一、HashSet的构造HashSethashset=newHashSet();二、HashSet添加元素//向hashset中添加一个字符串hashset.add(“abc”);//向hashset中添加一个整数hashset.add(1);//向hashset中添加一个字符hashset.add(‘a’);

大家好,又见面了,我是你们的朋友全栈君。

java集合——HashSet的用法

 

一、HashSet的构造

 

<span style="font-size:18px;">HashSet hashset=new HashSet();</span>

 

java集合——HashSet的用法「建议收藏」

二、HashSet添加元素

 

<span style="font-size:18px;">//向hashset中添加一个字符串
hashset.add("abc");
//向hashset中添加一个整数
hashset.add(1);
//向hashset中添加一个字符
hashset.add('a');
//向hashset中添加一个数组
int[] abc={10,11,12};
hashset.add(abc);
//向hashset中添加一个自定义对象
Cat cat1=new Cat("asd", 2);
hashset.add(cat1);//向hashset中添加一个对象</span>

三、遍历HashSet

 

 

<span style="font-size:18px;">//遍历HashSet
		Iterator it = hashset.iterator();
		while(it.hasNext())
		{
			Object obj = it.next();
			if(obj instanceof Integer)
			{
				 System.out.println("Integer:"+obj);
			}
			if(obj instanceof String)
			{
				 System.out.println("String:"+obj);
			}
			if(obj instanceof Character)
			{
				 System.out.println("Character:"+obj);
			}
			if(obj instanceof int[])
			{
				System.out.print("int[]:");
				for(int i=0;i<abc.length;i++)
				{
					System.out.print(abc[i]+" ");
				}
			}
		}</span>

输出结果:

 

java集合——HashSet的用法「建议收藏」

四、HashSet的一些常用方法:

 

添加元素:

hashset.add(E e):返回boolean型,如果此 set 中尚未包含指定元素,则添加指定元素;如果此 set 已包含该元素,则该调用不更改 set 并返回 false。

删除元素:

hashset.clear():从此 set 中移除所有元素。

hashset.remove(Object o):如果指定元素存在于此 set 中,则将其移除。

hashset.isEmpty():如果此 set 不包含任何元素,则返回 true。

hashset.contains(Object o):如果此 set 包含指定元素,则返回 true。

hashset.size():返回此 set 中的元素的数量(set 的容量)。

 

HashSet的一个应用实例,笔试题:

对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。
给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。
测试样例:
“qywyer23tdd”,11
返回:y

代码:

 

import java.util.*;
public class FirstRepeat {
	public static char findFirstRepeat(String A, int n) {
	
	char[] a=A.toCharArray();
	HashSet hs=new HashSet<>();
	for(int i=0; i<n;i++) 
	{
		if (!hs.add(a[i])) 
		{
			return a[i];
		}
	}
	return 0;
	}

	public static void main(String[] args)
	{
		System.out.println(findFirstRepeat("qywyer23tdd",11));
	}
}

返回结果:y

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158986.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm2022 02激活码【2022最新】

    (pycharm2022 02激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html4KDDGND3CI-eyJsa…

  • c语言和java哪个有前途_Java和C语言哪个好就业?

    c语言和java哪个有前途_Java和C语言哪个好就业?编程语言多达600余种,有畅行多年的,有逐渐被人遗忘的,还有发展迅速的后起之秀。Java和C语言作为使用者较多的两大语言,受到很多编程初学者的青睐,很多人在Java和C语言之间不知道该选哪个,想从事软件开发工作的话,究竟学哪个好呢?从两者的起源来看,Java是C语言的后辈,它是在C语言的基础上发展得来,抛弃了难懂的指针概念,和C完全不同的是Java是一门面向对象的语言,因为Java的跨平台和可移植…

  • Win知识 – 程序是怎样跑起来的(合集)

    Win知识 – 程序是怎样跑起来的(合集)操作系统的硬件控制功能,通常是通过一些小的函数集合体的形式来提供的。这些函数及调用函数的行为统称为系统调用(systemcall),也就是应用对操作系统(system)的功能进行调用(call)的意思。在前面的程序中用到了time()及printf()等函数,这些函数内部也都使用了系统调用。这里之所以用“内部”这个词,是因为在Windows操作系统中,提供返回当前日期和时刻,以及在显示器中显示字…

  • pycharm专业版下载安装教程_pycharm安装后无解释器

    pycharm专业版下载安装教程_pycharm安装后无解释器常见的pycharm是收费的,或者需要序列号,找起来很麻烦,现在介绍一款免费使用的pycharm–教育版。下面介绍一下pycharm的安装过程和使用中常见的一些问题。一、安装pycharm下载地址:https://www.jetbrains.com/pycharm-edu/ 。下载之后双击即可安装,安装过程中一直点击下一步即可。二、更换主题1.点击File-&gt;S…

  • js中数组的splice方法_vue中splice方法

    js中数组的splice方法_vue中splice方法JavaScript中的splice主要用来对js中的数组进行操作,包括删除,添加,替换等。1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数) 2.插入-向数组指定位置插入任意项元素。三个参数,第一个参数(插入位置),第二个参数(0),第三个参数(插入的项) 3.替换-向数组指定位置插入任意项元素,同时删除任意数量的项,三个参数。第一个参数(

  • 笔记:解决redis连接错误:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to…

    笔记:解决redis连接错误:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to…今天重启游戏服务器在连接redis数据库时突然报错:MISCONFRedisisconfiguredtosaveRDBsnapshots,butitiscurrentlynotabletopersistondisk.Commandsthatmaymodifythedatasetaredisabled,becausethisinstance

    2022年10月25日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号