当前位置: 首页 > article >正文

Java小白入门教程:HashSet

目录

一、定义

二、作用

1、存储唯一元素

2、快速查找

3、去除重复

三、使用场景

1、当你需要存储一系列唯一的元素,并且不关心元素的顺序时。

2、当你需要快速判断一个元素是否存在于集合中时。

四、语法及示例

1、创建HashSet

2、添加元素

3、检查元素是否存在

4、删除元素

5、获取大小

6、遍历HashSet

7、清空HashSet

五、完整示例


一、定义

        HashSet是Java中的一个类,它实现了Set接口用于存储一系列不重复的元素。

        Hashset内部使用HashMap来存储数据,所以它的元素是无序的,并且不保证元素的顺序。

二、作用

1、存储唯一元素

        HashSet不允许存储重复的元素。

2、快速查找

        由于内部使用HashMap,所以查找元素的速度非常快。

3、去除重复

        当你需要确保集合中只有唯一的元素时,HashSet常有用。

三、使用场景

1、当你需要存储一系列唯一的元素,并且不关心元素的顺序时。

2、当你需要快速判断一个元素是否存在于集合中时。

四、语法及示例

1、创建HashSet

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

HashSet<String> set = new HashSet<String>(); // 创建一个存储String类型的HashSet

2、添加元素

set.add("苹果"); // 添加一个元素
set.add("香蕉");
set.add("苹果"); // 再次添加"苹果",但不会存储重复的元素

3、检查元素是否存在

boolean hasApples = set.contains("苹果"); // 检查是否包含元素"苹果"

4、删除元素

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

5、获取大小

int size = set.size(); // 获取HashSet的大小

6、遍历HashSet

for (String fruit : set) {
    System.out.println(fruit); // 遍历并打印所有元素
}

7、清空HashSet

set.clear(); // 清空HashSet中的所有元素

五、完整示例

import java.util.HashSet;

public class Main {
    public static void main(String[] args) {
        HashSet<String> fruits = new HashSet<String>();

        // 添加元素
        fruits.add("苹果");
        fruits.add("香蕉");
        fruits.add("苹果"); // 重复的元素不会被添加

        // 输出所有元素
        System.out.println("水果集合:" + fruits);

        // 检查元素是否存在
        System.out.println("集合中是否包含苹果:" + fruits.contains("苹果"));

        // 删除元素
        fruits.remove("香蕉");

        // 遍历HashSet
        System.out.println("修改后的水果集合:");
        for (String fruit : fruits) {
            System.out.println(fruit);
        }

        // 获取大小
        System.out.println("集合中元素的数量:" + fruits.size());
    }
}

http://www.kler.cn/a/528943.html

相关文章:

  • 【回溯+剪枝】组合问题!
  • I.MX6ULL 中断介绍上
  • 4-图像梯度计算
  • 二级C语言:二维数组每行最大值与首元素交换、删除结构体的重复项、取出单词首字母
  • 汽车蓝牙钥匙定位仿真小程序
  • golang面试题
  • ZZNUOJ(C/C++)基础练习1031——1040(详解版)
  • 【JAVA】循环语句
  • 工作中使用到的单词(软件开发)_第一、二、三版汇总
  • TensorFlow 示例摄氏度到华氏度的转换(一)
  • 作者新游戏1.0
  • Linux中 端口被占用如何解决
  • rust跨平台调用动态库
  • 设计模式Python版 组合模式
  • DRM系列六:Drm之KMS
  • 线程的状态转换和调度
  • 深入理解Spring框架:从基础到实践
  • python学opencv|读取图像(五十三)原理探索:使用cv.matchTemplate()函数实现最佳图像匹配
  • 996引擎 -地图-添加安全区
  • 群速度与相速度辨析
  • NIST的 临床质量指标的简介
  • arkui-x 页面封装为自定义组件,巧用controller
  • Spring的AOP思想中事物管理注意点
  • 基础数据类型之整形
  • (leetcode 213 打家劫舍ii)
  • Games104——游戏引擎Gameplay玩法系统:基础AI