java集合——HashSet的用法
一、HashSet的构造
<span style="font-size:18px;">HashSet hashset=new HashSet();</span>
二、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>
输出结果:
四、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://blog.csdn.net/tingzhiyi/article/details/52152487