Java HashSet(散列集),HashMap(散列映射)的简单介绍

Java HashSet 和 HashMap 的简单介绍

HashSet

HashSet 是集合框架的一部分,它实现了 Set 接口,用于存储一个没有重复元素的集合。它通过散列表(Hash table)实现,散列表可以看作是一个数组(Array),数组中的元素是链表(LinkedList),每个元素称为“桶(bucket)”,桶中存储的是元素的值。

HashSet 的基本操作包括添加(add)、删除(remove)、查找(contains)和遍历(iterator)。具有 O(1) 的时间复杂度。

示例 1:添加元素,代码如下:

import java.util.HashSet;

public class HashSetExample {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>();
        set.add("Java");
        set.add("Python");
        set.add("C#");
        set.add("PHP");
        set.add("Ruby");
        System.out.println(set);
    }
}

运行结果:

[Python, PHP, Java, C#, Ruby]

示例 2:遍历元素,代码如下:

import java.util.HashSet;
import java.util.Iterator;

public class HashSetExample {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>();
        set.add("Java");
        set.add("Python");
        set.add("C#");
        set.add("PHP");
        set.add("Ruby");
        Iterator<String> it = set.iterator();
        while(it.hasNext()) {
            System.out.println(it.next());
        }
    }
}

运行结果:

Python
PHP
Java
C#
Ruby

HashMap

HashMap 也是集合框架的一部分,它实现了 Map 接口,用于存储一组键值对,每个键值对称为一个 entry(条目)。它也通过散列表实现,其中键值对的键称为“散列码(hash code)”,它的作用是将键值对存储到散列表中的桶中。

HashMap 的基本操作包括添加(put)、删除(remove)、查找(get)和遍历(entrySet)。具有 O(1) 的时间复杂度。

示例 1:添加键值对,代码如下:

import java.util.HashMap;

public class HashMapExample {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<String, Integer>();
        map.put("Java", 1);
        map.put("Python", 2);
        map.put("C#", 3);
        map.put("PHP", 4);
        map.put("Ruby", 5);
        System.out.println(map);
    }
}

运行结果:

{C#=3, Ruby=5, PHP=4, Java=1, Python=2}

示例 2:遍历键值对,代码如下:

import java.util.HashMap;
import java.util.Map;

public class HashMapExample {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<String, Integer>();
        map.put("Java", 1);
        map.put("Python", 2);
        map.put("C#", 3);
        map.put("PHP", 4);
        map.put("Ruby", 5);
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            System.out.println(entry.getKey() + " = " + entry.getValue());
        }
    }
}

运行结果:

C# = 3
Ruby = 5
PHP = 4
Java = 1
Python = 2

以上就是 Java HashSet 和 HashMap 简单介绍的攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java HashSet(散列集),HashMap(散列映射)的简单介绍 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • Spring AOP实现原理解析

    下面我将为你讲解 Spring AOP 实现原理解析的完整攻略。 Spring AOP 实现原理解析 1. 动态代理 Spring AOP 的实现原理是基于 JDK 动态代理或者 CGLIB 动态代理两种技术实现的。本文主要讲解的是 JDK 动态代理的实现原理。 在 JDK 动态代理中,代理对象实现了被代理对象的所有接口,并将方法调用转发给被代理对象。实现的…

    Java 2023年5月19日
    00
  • java 使用JDOM解析xml文件

    下面是使用JDOM解析XML文件的详细攻略。 一、导入JDOM库 在Java项目中使用JDOM,首先需要将其导入到项目中。可以手动下载JDOM库的jar包,也可以使用类似Maven的依赖管理工具来处理。 二、创建解析器对象 在Java中,使用JDOM解析XML文件时需要创建解析器对象。可以使用SAXBuilder类来创建一个实例,例如: SAXBuilder…

    Java 2023年5月19日
    00
  • 聊聊Spring MVC JSON数据交互的问题

    下面是详细讲解“聊聊Spring MVC JSON数据交互的问题”的完整攻略。 1. 什么是Spring MVC Spring MVC是Spring框架中的一个模块,它是一种基于Java的应用程序设计框架,可以用于快速开发Java Web应用程序。Spring MVC是一种MVC设计模式的实现,它实现了一个前端控制器(Front Controller)模式,…

    Java 2023年6月15日
    00
  • 把Java程序转换成exe,可直接运行的实现

    要把Java程序转换成exe文件,可直接运行,可以使用以下步骤: 1、使用Java打包工具打包 首先,我们需要将Java程序打包成一个独立的Jar文件,可以使用常见的Java打包工具进行打包,例如Maven,Gradle等。具体操作步骤如下: 使用Gradle打包 在项目目录下,执行以下命令进行打包: gradlew.bat jar 执行完毕后,在build…

    Java 2023年5月23日
    00
  • SpringBoot Admin 使用指南(推荐)

    Spring Boot Admin 使用指南 Spring Boot Admin 是一个用于管理和监控 Spring Boot 应用程序的开源项目。它提供了一个简单易用的 Web 界面,可以帮助我们监控应用程序的运行状态、性能标和日志信息等。在本文中,我们将详细讲解 Spring Boot Admin 的使用方法,并提供两个示例。 添加依赖 在 Spring…

    Java 2023年5月15日
    00
  • 浅谈SpringBoot之事务处理机制

    浅谈SpringBoot之事务处理机制 什么是事务? 事务是指一系列数据库操作(insert、update、delete等),要么全部完成,要么全部回滚,如果其中任何一个操作失败,整个事务将回滚到起点。 在Spring Boot中,可以使用@Transactional注解来声明一个事务,这样在方法执行时就会被视为一个事务,并启用该方法中的所有数据库操作,这个…

    Java 2023年5月15日
    00
  • 怎么开启Java小程序脚本? 浏览器采用Java小程序脚本的技巧

    开启Java小程序脚本: Java小程序(Java applet)是用Java语言编写的小程序,可以在网络浏览器上运行,为在浏览器中使用Java小程序,需要遵循以下步骤: 安装Java运行环境(Java runtime environment,JRE),只要在Java官网下载JRE安装即可,注意选择与你电脑系统相匹配的版本。 将Java小程序嵌入到HTML页…

    Java 2023年5月23日
    00
  • 详解Java线程池的使用及工作原理

    详解Java线程池的使用及工作原理 线程池介绍 线程池是一种创建和管理多个线程的方式,它能够提高程序的运行性能,避免因线程创建和销毁所带来的性能损耗。Java线程池机制包括三个部分:线程池、工作线程和任务队列。 线程池的好处 降低线程创建和销毁的开销。 提高响应速度,线程已经创建,任务可以立即执行。 提高线程的可管理性。线程池作为一个工作队列,可以进行线程的…

    Java 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部