【背诵⑧】保姆级 | 零基础备赛蓝桥杯Java组| 哈希表set的使用

当谈到Java中的哈希表时,我们通常指的是HashSet,它是基于哈希表实现的Set接口的一个类。下面是关于Java哈希表(HashSet)的使用知识点和示例代码:

知识点:

  1. 哈希表(HashSet)特点

    • 不允许存储重复元素。
    • 不保证集合中元素的顺序,即不保证集合中元素的存储顺序和插入顺序一致。
    • 允许存储null元素。
  2. 底层实现

    • HashSet底层是由HashMap实现的,HashSet中的元素被存储为HashMap的key,value统一为一个占位对象(通常为PRESENT)。
  3. 添加元素

    • 使用add()方法向HashSet中添加元素。
  4. 判断元素是否存在

    • 使用contains()方法判断HashSet中是否包含某个元素。
  5. 删除元素

    • 使用remove()方法从HashSet中删除指定元素。
  6. 遍历元素

    • 可以使用增强for循环或迭代器来遍历HashSet中的元素。

示例代码:

java 复制代码
import java.util.HashSet;

public class HashSetExample {
    public static void main(String[] args) {
        // 创建一个HashSet
        HashSet<String> set = new HashSet<>();

        // 添加元素
        set.add("apple");
        set.add("banana");
        set.add("orange");

        // 判断元素是否存在
        boolean containsBanana = set.contains("banana");
        System.out.println("Contains 'banana': " + containsBanana);

        // 删除元素
        set.remove("orange");

        // 遍历集合
        System.out.println("Elements in set:");
        for (String element : set) {
            System.out.println(element);
        }
    }
}

在这个示例中,我们创建了一个HashSet对象,向其中添加了几个元素,然后检查了是否包含指定元素,删除了一个元素,并且最后遍历了HashSet中的所有元素。

当HashSet为空时,可以使用isEmpty()方法进行判断

java 复制代码
import java.util.HashSet;

public class HashSetExample {
    public static void main(String[] args) {
        // 创建一个空的HashSet
        HashSet<String> set = new HashSet<>();

        // 添加元素
        set.add("apple");
        set.add("banana");
        set.add("orange");

        // 判断HashSet是否为空
        if (set.isEmpty()) {
            System.out.println("HashSet is empty");
        } else {
            System.out.println("HashSet is not empty");

            // 遍历集合
            System.out.println("Elements in set:");
            for (String element : set) {
                System.out.println(element);
            }
        }
    }
}
相关推荐
snakeshe10101 分钟前
SpringBoot 多人协作平台实战(6):SpringBoot Controller 入门与登录模块开发
java
用户298698530142 分钟前
用 Java 操作 Word 文档?试试添加内容控件
java·后端
带刺的坐椅5 分钟前
Java AI 框架三国杀:Solon AI vs Spring AI vs LangChain4j 深度对比
java·ai·langchain4j·spring-ai·solon-ai
苍煜11 分钟前
K8s 集群快速搭建(系列第八篇:单机/多节点集群实战)
java·容器·kubernetes
Chase_______11 分钟前
Java 基础语言 ① —— Java 运行机制与开发环境:从 javac 到 JVM 全流程解析
java·jvm·python
北风toto12 分钟前
在 Axios 中发送 POST 请求并携带参数通常有以下两种方式
java
cui_ruicheng18 分钟前
Linux线程(二):pthread 线程库与线程控制
java·开发语言·jvm
山北雨夜漫步26 分钟前
LangGraph
java·前端·算法
jakeswang36 分钟前
【AI面经】大模型半夜发短信骂客户?Agent 工具调用失控,你如何设计防护机制?
java·后端
LuminousCPP36 分钟前
C 语言动态内存管理全解析:从基础函数到柔性数组与内存分区
c语言·经验分享·笔记·学习·柔性数组