java集合——HashSet的用法
原文地址:http://blog.****.net/tingzhiyi/article/details/52152487
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>
- <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));
- }
- }