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

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pandas at loc_pandas str

    pandas at loc_pandas strpandas中.loc和.iloc以及.at和.iat的区别显示索引和隐式索引显示索引和隐式索引importpandasaspddf=pd.DataFrame({‘姓名’:[‘张三’,‘李四’,‘王五’],‘成绩’:[85,59,76]})#传入冒号‘:’,表示所有行或者列#显示索引:loc,第一个参数为index切片,第二个为columnsdf.loc[2] #index为…

    2022年8月30日
    1
  • 锐捷交换机配置手册完整

    锐捷交换机配置手册完整锐捷S3550配置手册第一部分:交换机概述一:交换机的几种配置方法本部分包括以下内容:控制台远程登录其它配置方法本部分内容适用于交换机、路由器等网络设备。 控制台用一台计算机作为控制台和网络设备相连,通过计算机对网络设备进行配置。1、硬件连接:把Console线一端连接在计算机的

    2022年6月15日
    75
  • 误删Oracle中数据快速恢复方式

    误删Oracle中数据快速恢复方式在开发或者维护过程存在需要对Oracle数据的恢复工作,下面提供几种方式:1.数据查询(20分钟前)select*fromTABLE_NAMEasoftimestampsysdate-20/1440;2.更新数据恢复2.1清空当前表,恢复20分钟前数据(不推荐)DELETETABLE_NAMEwhere1=1;COMMIT;inserti…

    2022年7月17日
    12
  • Python数据处理案例

    Python数据处理案例关于数据处理案例有两个 第一个案例是我整理到有道云上的 就直接剪切下来了 下面直接进入正题 案例 1 快餐数据案例 2 欧洲杯数据先进行数据探索 data info data describe 查看数据集是否有缺失值且哪个字段存在缺失值 可以用下面的代码 也可以用前面案例 1 缺失值那里提到的前两种方法 foriinrange d

    2025年6月23日
    0
  • 关于数据库读写分离

    1、what读写分离读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。2、why那么为什么要读写分离呢?因为数据库的“写”(写10000条数据到oracle可能要3分钟)操作是比较耗时的。但是数据库的“读”(从oracle读…

    2022年4月6日
    39
  • 用testNG测试,可以做简单的并发测试

    用testNG测试,可以做简单的并发测试

    2021年5月12日
    104

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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