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文件使一些市场上出现的问题得以解决,至于跨端出问题,可能原因有很多,例如,合法…...

【黄金评论】美元走强压制金价:基于NLP政策因子与ARIMA-GARCH的联动效应解析
一、基本面:多因子模型解析黄金承压逻辑 1. 政策冲击因子驱动美元强势 通过NLP模型对关税政策文本进行情感分析,构建政策不确定性指数(PUI)达89.3,触发美元避险需求溢价。DSGE模型模拟显示,钢铁关税上调至…...

Ansys Zemax | 手机镜头设计 - 第 4 部分:用 LS-DYNA 进行冲击性能分析
附件下载 联系工作人员获取附件 该系列文章将讨论智能手机镜头模组设计的挑战,从概念和设计到制造和结构变形分析。本文是四部分系列中的第四部分,它涵盖了相机镜头的显式动态模拟,以及对光学性能的影响。使用 Ansys Mechanical 和 LS - DY…...

第N1周:one-hot编码案例
🍨 本文为🔗365天深度学习训练营中的学习记录博客 🍖 原作者:K同学啊 一、one-hot编码概念 自然语言处理(NLP)中的文本数字化:文字对于计算机来说就仅仅只是一个个符号,计算…...

07 APP 自动化- appium+pytest+allure框架封装
文章目录 一、PO二、代码简单实现项目框架预览:base_page.pydir_config.pyget_data.pylogger.pystart_session.pyconfig.yamlkey_code.yamllaunch_page_loc.pylogin_page_loc.pylaunch_page.pylogin_page.pytest_login.pypytest.inirun.py 一、PO PO 分为四层 &…...

HikariCP 可观测性最佳实践
HikariCP 介绍 HikariCP 是一个高性能、轻量级的 JDBC 连接池,由 Brett Wooldridge 开发。它以“光”命名,象征快速高效。它支持多种数据库,配置简单,通过字节码优化和智能管理,实现低延迟和高并发处理。它还具备自动…...
Linux Maven Install
在 CentOS(例如 CentOS 7 或 CentOS 8)中安装 Maven(Apache Maven)的方法主要有两种:使用包管理器(简单但可能版本较旧),或者手动安装(推荐,可获得最新版&…...
Milvus单机模式安装和试用
1.安装ollama的package包; # install package pip install -U langchain-ollama2.我们直接使用ChatOllama实例化模型,并通过invoke进行调用; from langchain_ollama import ChatOllamallm ChatOllama(model"deepseek-r1") messa…...
基于React Native开发鸿蒙新闻类应用的实战开发笔记
以下为基于React Native开发鸿蒙新闻资讯类应用的实战开发笔记,结合架构特性与踩坑经验,重点记录关键实现方案和技术决策: 一、环境搭建与工程初始化(关键步骤复盘) Node.js版本锁定 必须使用Node 18&…...

智能快递地址解析接口如何用PHP调用?
一、什么是智能快递地址解析接口 随着互联网技术的普及和电子商务的迅猛发展,网购已成为现代人日常生活的重要组成部分。然而,在这个便捷的背后,一个看似不起眼却影响深远的问题正悄然浮现——用户填写的快递地址格式混乱、信息不全甚至错漏…...

【GitHub开源AI精选】WhisperX:70倍实时语音转录、革命性词级时间戳与多说话人分离技术
系列篇章💥 No.文章1【GitHub开源AI精选】LLM 驱动的影视解说工具:Narrato AI 一站式高效创作实践2【GitHub开源AI精选】德国比勒费尔德大学TryOffDiff——高保真服装重建的虚拟试穿技术新突破3【GitHub开源AI精选】哈工大(深圳)…...