Java集合(List、Set、Map)
Java中的集合是用于存储和组织对象的数据结构。Java提供了许多不同的集合类,包括List、Set和Map等,以满足不同的需求。下面将介绍一些常见的Java集合类及其使用方法。
一、List
List是一个有序的集合,它允许元素重复出现,并提供了索引访问元素的功能。List可以通过以下方式创建:
List<String> list = new ArrayList<>(); // 使用ArrayList实现List
在创建List之后,可以使用add()方法添加元素,使用get()方法获取元素,使用remove()方法删除元素等。
例如,以下代码向List中添加了三个元素,然后打印了第三个元素,并从List中删除了第二个元素:
list.add("apple");
list.add("banana");
list.add("orange");
System.out.println(list.get(2)); // 输出"orange"
list.remove(1); // 删除第二个元素
System.out.println(list); // 输出["apple", "orange"]
二、Set
Set是一个无序的集合,它不允许元素重复出现。Set可以通过以下方式创建:
Set<String> set = new HashSet<>(); // 使用HashSet实现Set
在创建Set之后,可以使用add()方法添加元素,使用contains()方法判断元素是否存在于集合中,使用remove()方法删除元素等。
例如,以下代码向Set中添加了三个元素,然后打印了Set中是否包含"banana"和"orange",并从Set中删除了"apple":
set.add("apple");
set.add("banana");
set.add("orange");
System.out.println(set.contains("banana")); // 输出true
System.out.println(set.contains("pear")); // 输出false
set.remove("apple"); // 删除"apple"元素
System.out.println(set); // 输出["banana", "orange"]
三、Map
Map是一种键值对的数据结构,它允许将键映射到值。Map可以通过以下方式创建:
Map<String, Integer> map = new HashMap<>(); // 使用HashMap实现Map
在创建Map之后,可以使用put()方法添加键值对,使用get()方法获取值,使用containsKey()方法判断键是否存在于Map中等。
例如,以下代码向Map中添加了三个键值对,然后打印了键"banana"对应的值,并从Map中删除了键"apple":
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
System.out.println(map.get("banana")); // 输出2
System.out.println(map.containsKey("pear")); // 输出false
map.remove("apple"); // 删除键"apple"对应的键值对
System.out.println(map); // 输出["banana":2, "orange":3]
总结:Java提供了多种集合类来满足不同的数据结构需求。List是一个有序的集合,允许元素重复出现;Set是一个无序的集合,不允许元素重复出现;Map是一种键值对的数据结构,允许将键映射到值。在使用集合时,我们应该根据具体的需求选择合适的集合类来存储和组织数据。
相关文章:
Java集合(List、Set、Map)
Java中的集合是用于存储和组织对象的数据结构。Java提供了许多不同的集合类,包括List、Set和Map等,以满足不同的需求。下面将介绍一些常见的Java集合类及其使用方法。 一、List List是一个有序的集合,它允许元素重复出现,并提供…...
Linux--只执行一次的计划任务--at命令
Linux–只执行一次的计划任务–at命令 文章目录 Linux--只执行一次的计划任务--at命令一、atd的启动和at的运行方式二、at总结 一、atd的启动和at的运行方式 atd的启动: systemctl restrat atd #重新启动atd这个服务 systemctl enable atd #让这个服务开机自启动 sy…...
关于贪心算法的一个小结
下面的内容主要参考了数据结构与算法之美。 贪心算法的应用有: 霍夫曼编码(Huffman Coding) Prim和Kruskal最小生成树算法 01背包问题(当允许取部分物品的时候) 分糖果 我们有m个糖果和n个孩子。我们现在要把糖果分给这些孩子吃ÿ…...

五、DQL-2.基本查询
一、数据准备 1、删除表employee: drop table employee; 2、创建表emp: 3、添加数据: 4、查看表数据: 【代码】 -- 查询数据--------------------------------------------------------- drop table emp;-- 数据准备-----------…...
SSL证书常见问题:SSL证书的概念和作用
什么是SSL证书? SSL证书是一种数字证书,它与身份证、驾照的功能一样,用于证明网站的身份。SSL证书是由全球信任的证书颁发机构(CA)在验证服务器身份后颁发,安装SSL证书后会激活HTTPS协议,在用户…...
J2EEXML建模
目录 用一个xml-config文件实例: 先看config.xml文件 再看 ActionModel ConfigModel ActionNotFoundException ForwardNotFoundException ConfigModelFactory ActionDuplicateDefinitionException ForwardDuplicateDefinitionException InvalidPathExcept…...
vue中export和export default
参考:vue中export和export default的使用 参考:vue里的export default...
转职做项目经理,我为什么选择PMP?
老实说,在学习PMP之前,我做了很长时间的思想斗争,一是平时工作有些忙,没有大块儿时间集中学习;二是不确定考完之后是否真能用上。但现在我可以很明确的告诉每一个想学习PMP的人:放心学吧,知识不…...
LangChain(5)Conversational Agents
Large Language Models (LLMs) 在语义知识方面表现不错,但也有一些不足,如:不能正确计算数学公式、无法获取最新知识新闻 通过 Agents 可以赋予 LLMs 更多能力,让LLM能够计算、上网查询 agent 简单使用 from langchain import …...
【云原生】Kubernetes临时容器
临时容器 特性状态: Kubernetes v1.25 [stable] 本页面概述了临时容器:一种特殊的容器,该容器在现有 Pod 中临时运行,以便完成用户发起的操作,例如故障排查。 你会使用临时容器来检查服务,而不是用它来构建…...

Jenkins+Robot 接口自动化测试
目录 前言: 设计目标 项目说明 目录结构 配置 jenkins 1.安装插件 2.配置项目 前言: JenkinsRobot是一种常见的接口自动化测试方案,可以实现自动化的接口测试和持续集成。Jenkins是一个流行的持续集成工具,而Robot Framew…...

【Visual Studio Code】---自定义键盘快捷键设置
概述 一个好的文章能够帮助开发者完成更便捷、更快速的开发。书山有路勤为径,学海无涯苦作舟。我是秋知叶i、期望每一个阅读了我的文章的开发者都能够有所成长。 一、进入键盘快捷键设置 1、进入键盘快捷键设置方法1 使用快捷键进入键盘快捷键设置先按 Ctrl K再…...

FastEdit ⚡:在10秒内编辑大型语言模型
概述: 这个仓库旨在通过一个单一的命令,有效地将新鲜且定制化的知识注入到大型语言模型中,以辅助开发人员的工作。 支持的模型:○ GPT-J (6B)○ LLaMA (7B/13B)○ BLOOM (7.1B)○ Falcon (7B)○ Baichuan (7B/13B)○ InternLM (7…...

SpringBoot + Docker 实现一次构建到处运行
一、容器化部署的好处 Docker 作为一种新兴的虚拟化方式,它可以更高效的利用系统资源,不需要进行硬件虚拟以及运行完整操作系统等额外开销。 传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行宿主内…...
Spring-Cloud-Gateway如何自定义断言工厂?
遇到这么一个面试题:如何在网关做配置,实现只有在早晨9点到下午18点之间接口才允许访问,其他时间访问都是404。 我们知道网关的一个重要的作用就是路由转发,路由表的配置大概是这个样子: spring:cloud:gateway:routes:- id: user…...

Android平台如何高效率实现GB28181对接?
技术背景 GB28181协议是一种用于设备状态信息报送的协议,可以在不同设备之间进行通信和数据传输。 在安卓系统上实现GB/T 28181非常必要,GB28181协议实现分两部分,一部分是信令,另外一部分就是媒体数据的编码。 信令主要包括S…...

vue2 实现后台管理系统左侧菜单联动实现 tab根据路由切换联动内容,并支持移动端框架
效果图: pc端 移动端 由于代码比较多,我这里就不一一介绍了,可以去我的git上把项目拉下来 git地址https://gitee.com/Flechazo7/htglck.git 后台我是用node写的有需要的可以评论联系...

一本通1910:【00NOIP普及组】计算器的改良题解
今天是编程集训的第二天,也是我来到CSDN整整1年。感谢所有阅读过我的文章的人,谢谢。 今天的比赛难度略低于昨天,但这道题也卡了我好久。 进入正题 题目: 题目描述: NCL是一家专门从事计算器改良与升级的实验室&a…...

golang网络编程学习-1rpc
网络编程主要的内容是: 1.TCP网络编程 2.http服务 3.rpc服务 4.websocket服务 一、rpc RPC 框架----- 远程过程调用协议RPC(Remote Procedure Call Protocol)-----允许像调用本地服务一样调用远程服务。 RPC是指远程过程调用,也就是说两台服…...

【MQTT】Esp32数据上传采集:最新mqtt插件(支持掉线、真机调试错误等问题)
前言 这是我在Dcloud发布的插件-最完整Mqtt示例代码(解决掉线、真机调试错误等问题),经过整改优化和替换Mqtt的js文件使一些市场上出现的问题得以解决,至于跨端出问题,可能原因有很多,例如,合法…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...