java集合——HashSet的用法

原文地址:http://blog.csdn.net/tingzhiyi/article/details/52152487

java集合——HashSet的用法


一、HashSet的构造

[java]  view plain  copy
  1. <span style="font-size:18px;">HashSet hashset=new HashSet();</span>  


二、HashSet添加元素

[java]  view plain  copy
  1. <span style="font-size:18px;">//向hashset中添加一个字符串  
  2. hashset.add("abc");  
  3. //向hashset中添加一个整数  
  4. hashset.add(1);  
  5. //向hashset中添加一个字符  
  6. hashset.add('a');  
  7. //向hashset中添加一个数组  
  8. int[] abc={10,11,12};  
  9. hashset.add(abc);  
  10. //向hashset中添加一个自定义对象  
  11. Cat cat1=new Cat("asd"2);  
  12. hashset.add(cat1);//向hashset中添加一个对象</span>  
三、遍历HashSet

[java]  view plain  copy
  1. <span style="font-size:18px;">//遍历HashSet  
  2.         Iterator it = hashset.iterator();  
  3.         while(it.hasNext())  
  4.         {  
  5.             Object obj = it.next();  
  6.             if(obj instanceof Integer)  
  7.             {  
  8.                  System.out.println("Integer:"+obj);  
  9.             }  
  10.             if(obj instanceof String)  
  11.             {  
  12.                  System.out.println("String:"+obj);  
  13.             }  
  14.             if(obj instanceof Character)  
  15.             {  
  16.                  System.out.println("Character:"+obj);  
  17.             }  
  18.             if(obj instanceof int[])  
  19.             {  
  20.                 System.out.print("int[]:");  
  21.                 for(int i=0;i<abc.length;i++)  
  22.                 {  
  23.                     System.out.print(abc[i]+" ");  
  24.                 }  
  25.             }  
  26.         }</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

代码:

[java]  view plain  copy
  1. import java.util.*;  
  2. public class FirstRepeat {  
  3.     public static char findFirstRepeat(String A, int n) {  
  4.       
  5.     char[] a=A.toCharArray();  
  6.     HashSet hs=new HashSet<>();  
  7.     for(int i=0; i<n;i++)   
  8.     {  
  9.         if (!hs.add(a[i]))   
  10.         {  
  11.             return a[i];  
  12.         }  
  13.     }  
  14.     return 0;  
  15.     }  
  16.   
  17.     public static void main(String[] args)  
  18.     {  
  19.         System.out.println(findFirstRepeat("qywyer23tdd",11));  
  20.     }  
  21. }  
返回结果:y

猜你喜欢

转载自blog.csdn.net/qq_36328915/article/details/79316124