Java HashSet用法详解

HashSet基于HashMap来实现的,是一个不允许有重复元素的集合

HashSet允许有null值。它是无序的,即不会记录插入的顺序。它也不是线程安全,如果多个线程同时修改HashSet,则最终结果是不确定的。所以必须在多线程访问时显式同步对HashSet的并发访问。

HashSet类位于java.util包中,使用前需要引入它,语法格式如下:

import java.util.HashSet;//引入HashSet类

HashSet的创建及常用操作如下:

//引入HashSet类
import java.util.HashSet;

public class Test{
    public static void main(String[] args){
        //创建sites对象,用于保存字符串元素
        HashSet<String> sites =  new HashSet<String>();
        
        //add()方法添加元素
        sites.add("red");
        sites.add("blue");
        sites.add("green");
        sites.add("yellow");
        sites.add("red");    //元素重复,不会被添加,集合中元素是唯一的
        
        System.out.println(sites);
        
        //contains()方法判断元素是否在集合中
        System.out.println(sites.contains("red");

        //remove()方法删除集合中的元素
        sites.remove("red");
        System.out.println(sites);

        //删除集合中所有元素可以使用clear()方法
        sites.clear();
        System.out.println(sites);
        
        //后续还要操作,重新添加元素
        //add()方法添加元素
        sites.add("red");
        sites.add("blue");
        sites.add("green");
        sites.add("yellow");

        //size()方法获取集合中元素数量
        System.out.println(sites.size());

        //迭代HashSet
        for(String i : sites){
            System.out.println(i);
        }
    }
}

HashSet应用场景非常广泛,比如利用HashSet解决无重复字符的最长字串问题

猜你喜欢

转载自blog.csdn.net/li_w_ch/article/details/108442275