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

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提供了许多不同的集合类&#xff0c;包括List、Set和Map等&#xff0c;以满足不同的需求。下面将介绍一些常见的Java集合类及其使用方法。 一、List List是一个有序的集合&#xff0c;它允许元素重复出现&#xff0c;并提供…...

Linux--只执行一次的计划任务--at命令

Linux–只执行一次的计划任务–at命令 文章目录 Linux--只执行一次的计划任务--at命令一、atd的启动和at的运行方式二、at总结 一、atd的启动和at的运行方式 atd的启动: systemctl restrat atd #重新启动atd这个服务 systemctl enable atd #让这个服务开机自启动 sy…...

关于贪心算法的一个小结

下面的内容主要参考了数据结构与算法之美。 贪心算法的应用有&#xff1a; 霍夫曼编码&#xff08;Huffman Coding&#xff09; Prim和Kruskal最小生成树算法 01背包问题(当允许取部分物品的时候) 分糖果 我们有m个糖果和n个孩子。我们现在要把糖果分给这些孩子吃&#xff…...

五、DQL-2.基本查询

一、数据准备 1、删除表employee&#xff1a; drop table employee; 2、创建表emp&#xff1a; 3、添加数据&#xff1a; 4、查看表数据&#xff1a; 【代码】 -- 查询数据--------------------------------------------------------- drop table emp;-- 数据准备-----------…...

SSL证书常见问题:SSL证书的概念和作用

什么是SSL证书&#xff1f; SSL证书是一种数字证书&#xff0c;它与身份证、驾照的功能一样&#xff0c;用于证明网站的身份。SSL证书是由全球信任的证书颁发机构&#xff08;CA&#xff09;在验证服务器身份后颁发&#xff0c;安装SSL证书后会激活HTTPS协议&#xff0c;在用户…...

J2EEXML建模

目录 用一个xml-config文件实例&#xff1a; 先看config.xml文件 再看 ActionModel ConfigModel ActionNotFoundException ForwardNotFoundException ConfigModelFactory ActionDuplicateDefinitionException ForwardDuplicateDefinitionException InvalidPathExcept…...

vue中export和export default

参考&#xff1a;vue中export和export default的使用 参考&#xff1a;vue里的export default...

转职做项目经理,我为什么选择PMP?

老实说&#xff0c;在学习PMP之前&#xff0c;我做了很长时间的思想斗争&#xff0c;一是平时工作有些忙&#xff0c;没有大块儿时间集中学习&#xff1b;二是不确定考完之后是否真能用上。但现在我可以很明确的告诉每一个想学习PMP的人&#xff1a;放心学吧&#xff0c;知识不…...

LangChain(5)Conversational Agents

Large Language Models (LLMs) 在语义知识方面表现不错&#xff0c;但也有一些不足&#xff0c;如&#xff1a;不能正确计算数学公式、无法获取最新知识新闻 通过 Agents 可以赋予 LLMs 更多能力&#xff0c;让LLM能够计算、上网查询 agent 简单使用 from langchain import …...

【云原生】Kubernetes临时容器

临时容器 特性状态&#xff1a; Kubernetes v1.25 [stable] 本页面概述了临时容器&#xff1a;一种特殊的容器&#xff0c;该容器在现有 Pod 中临时运行&#xff0c;以便完成用户发起的操作&#xff0c;例如故障排查。 你会使用临时容器来检查服务&#xff0c;而不是用它来构建…...

Jenkins+Robot 接口自动化测试

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

【Visual Studio Code】---自定义键盘快捷键设置

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

FastEdit ⚡:在10秒内编辑大型语言模型

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

SpringBoot + Docker 实现一次构建到处运行

一、容器化部署的好处 Docker 作为一种新兴的虚拟化方式&#xff0c;它可以更高效的利用系统资源&#xff0c;不需要进行硬件虚拟以及运行完整操作系统等额外开销。 传统的虚拟机技术启动应用服务往往需要数分钟&#xff0c;而 Docker 容器应用&#xff0c;由于直接运行宿主内…...

Spring-Cloud-Gateway如何自定义断言工厂?

遇到这么一个面试题&#xff1a;如何在网关做配置&#xff0c;实现只有在早晨9点到下午18点之间接口才允许访问&#xff0c;其他时间访问都是404。 我们知道网关的一个重要的作用就是路由转发&#xff0c;路由表的配置大概是这个样子: spring:cloud:gateway:routes:- id: user…...

Android平台如何高效率实现GB28181对接?

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

vue2 实现后台管理系统左侧菜单联动实现 tab根据路由切换联动内容,并支持移动端框架

效果图&#xff1a; pc端 移动端 由于代码比较多&#xff0c;我这里就不一一介绍了&#xff0c;可以去我的git上把项目拉下来 git地址https://gitee.com/Flechazo7/htglck.git 后台我是用node写的有需要的可以评论联系...

一本通1910:【00NOIP普及组】计算器的改良题解

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

golang网络编程学习-1rpc

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

【MQTT】Esp32数据上传采集:最新mqtt插件(支持掉线、真机调试错误等问题)

前言 这是我在Dcloud发布的插件-最完整Mqtt示例代码&#xff08;解决掉线、真机调试错误等问题&#xff09;&#xff0c;经过整改优化和替换Mqtt的js文件使一些市场上出现的问题得以解决&#xff0c;至于跨端出问题&#xff0c;可能原因有很多&#xff0c;例如&#xff0c;合法…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...

webpack面试题

面试题&#xff1a;webpack介绍和简单使用 一、webpack&#xff08;模块化打包工具&#xff09;1. webpack是把项目当作一个整体&#xff0c;通过给定的一个主文件&#xff0c;webpack将从这个主文件开始找到你项目当中的所有依赖文件&#xff0c;使用loaders来处理它们&#x…...

13.10 LangGraph多轮对话系统实战:Ollama私有部署+情感识别优化全解析

LangGraph多轮对话系统实战:Ollama私有部署+情感识别优化全解析 LanguageMentor 对话式训练系统架构与实现 关键词:多轮对话系统设计、场景化提示工程、情感识别优化、LangGraph 状态管理、Ollama 私有化部署 1. 对话训练系统技术架构 采用四层架构实现高扩展性的对话训练…...