HashSet的用法

2019-07-30  本文已影响0人  03ca2835cf70

java集合——HashSet的用法

一、HashSet的构造

HashSet hashset=new 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>

输出结果:

四、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

作者:亭之翼
来源:CSDN
原文:https://blog.csdn.net/tingzhiyi/article/details/52152487
版权声明:本文为博主原创文章,转载请附上博文链接!

上一篇 下一篇

猜你喜欢

热点阅读