Java中List、Set、Map三种集合之间的区别
Java中List、Set、Map三种集合之间的区别
- 1. List
- 2. Set
- 3. Map
在Java中,List、Set和Map是三种常见的集合类型,它们之间也有一些重要的区别:
1. List
- List是
有序集合,可以存储重复元素。 - List的实现类常见有
ArrayList、LinkedList和Vector。 - 可以通过
索引访问List中的元素,可以根据索引添加、删除和修改元素。 - 常用的操作包括
get(index)、add(element)、remove(index)等。
代码如下:
import java.util.ArrayList;
import java.util.List;public class ListExample {public static void main(String[] args) {// 创建一个ArrayListList<String> list = new ArrayList<>();// 添加元素list.add("1");list.add("1");list.add("2");// 遍历列表并打印元素for (String num: list) {System.out.println(num);}}
}
2. Set
- Set是
无序集合,不允许存储重复元素。 - Set的实现类常见有
HashSet、TreeSet和LinkedHashSet。 - 可以用来判断元素是否存在、添加元素、删除元素等。
- 常用的操作包括
add(element)、contains(element)、remove(element)等。
代码如下:
import java.util.HashSet;
import java.util.Set;public class SetExample {public static void main(String[] args) {// 创建一个HashSetSet<String> set = new HashSet<>();// 添加元素set.add("1");set.add("1");set.add("2");// 遍历集合并打印元素for (String num: set) {System.out.println(num);}}
}
3. Map
- Map是
键值对的集合,每个键对应一个值,键不允许重复,值可以重复。 - Map的实现类常见有
HashMap、TreeMap、LinkedHashMap。 - 可以通过键来获取对应的值,也可以添加、删除键值对。
- 常用的操作包括
put(key, value)、get(key)、remove(key)等。
代码如下:
import java.util.HashMap;
import java.util.Map;public class MapExample {public static void main(String[] args) {// 创建一个HashMapMap<Integer, String> map = new HashMap<>();// 添加键值对map.put(1, "1");map.put(2, "1");map.put(3, "2");// 遍历Map并打印键值对for (Map.Entry<Integer, String> entry : map.entrySet()) {System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());}}
}
总结一下:
List是有序集合,可以存储重复元素,通过索引访问。Set是无序集合,不允许存储重复元素,用于判断元素是否存在。Map是键值对的集合,键不允许重复,通过键获取值。
| 上一篇 面试官:你用过Collections工具类吗? | 记得点赞收藏哦!!! | 下一篇 Java——File类详解 |
相关文章:
Java中List、Set、Map三种集合之间的区别
Java中List、Set、Map三种集合之间的区别 1. List2. Set3. Map 在Java中,List、Set和Map是三种常见的集合类型,它们之间也有一些重要的区别: 1. List List是有序集合,可以存储重复元素。List的实现类常见有ArrayList、LinkedLis…...
SpringMVC之DispatcherServlet组件
目录 一、SpringMVC的核心处理流程二、DispatcherServlet1、init()方法2、doDispatch()方法3、AbstractAnnotationConfigDispatcherServletInitializer类 一、SpringMVC的核心处理流程 请求到达 DispatcherServlet DispatcherServlet 的请求处理: DispatcherServlet…...
抢商家、夺用户、比低价,抖音、快手、小红书“奇招尽出”
随着流量红利逐渐消退,国内电商平台之间互相内卷已成为了行业常态,而无论是在该领域深耕已久的淘宝、京东、拼多多等电商巨头,还是新跨界而来的抖音、快手、小红书等电商新秀都在不断地进行创新,以便为商家提供更好的服务…...
ChatGPT引领的AI面试攻略系列:AI全栈工程师篇
系列文章目录 AI全栈工程师(本文) 文章目录 系列文章目录一、前言二、面试题1. 基础理论与数据处理2. 机器学习3. 深度学习4. 大模型与迁移学习5. 计算机视觉6. 自然语言处理(NLP)7. 多模态学习8. AI生成内容(AIGC&am…...
上位机图像处理和嵌入式模块部署(qmacvisual配置)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们谈到了qmacvisual的编译、验证码、用户登录以及流程的编辑,这部分都是基础工作。事实上,除了这些内容之外…...
EXPLAIN PLAN FOR:在Oracle中生成执行计划
目录 案例 解析 Operation类型 在Oracle中,可以使用 EXPLAIN PLAN FOR 命令来生成执行计划,然后通过 SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY(PLAN_TABLE))来查看执行计划。需要注意的是,这两个命令需要在同一个窗口下运…...
蓝桥杯 9241.飞机降落
这道题本来作者以为是可以用一些小技巧进行暴力解法的,但是后来试了一下,不能过去全部数据。 下面是对半个的题解: #include<iostream> #include<stdio.h> #include<cstring> #include<cstdlib> #include<cmath…...
数据可视化原理-腾讯-散点图
在做数据分析类的产品功能设计时,经常用到可视化方式,挖掘数据价值,表达数据的内在规律与特征展示给客户。 可是作为一个产品经理,(1)如果不能够掌握各类可视化图形的含义,就不知道哪类数据该用…...
深度学习-Pytorch实现经典AlexNet网络:山高我为峰
深度学习-Pytorch实现经典AlexNet网络之山高我为峰 深度学习中,经典网络引领一波又一波的技术革命,从LetNet到当前最火的GPT所用的Transformer,它们把AI技术不断推向高潮。2012年AlexNet大放异彩,它把深度学习技术引领第一个高峰…...
25考研习题记录
3月 汤家凤《1800》 基础篇 日期高等数学线性代数概率论3.1 P92-93 P212-214 3.4 P10-15 P10-19 极限题62题 P73-74 P170-172 行列式17题 考研竞赛凯哥每日一题 张宇高数30讲页数3.4P74...
上海计算机学会 2023年12月月赛 丙组T4 迷宫(宽度优先搜索)
第四题:T4迷宫 标签:宽度优先搜索题意:给定 n n nx m m m由 # \# #(墙)、 . . .(空地)组成的地图,求从左上角到右下角的最少步数,每次只允许上下左右移动一格࿰…...
【Boost搜索引擎项目】Day1 项目介绍+去标签和数据清洗框架搭建
🌈欢迎来到C项目专栏 🙋🏾♀️作者介绍:前PLA队员 目前是一名普通本科大三的软件工程专业学生 🌏IP坐标:湖北武汉 🍉 目前技术栈:C/C、Linux系统编程、计算机网络、数据结构、Mysq…...
站群服务器需要多大内存
站群服务器的内存需求取决于网站的数量和流量,以及服务器需要运行的应用和服务。RAKsmart小编为您整理发布站群服务器需要多大内存以及站群服务器内存需求的考虑因素。 站群服务器是一种用于托管多个网站的服务器,通常用于搜索引擎优化(SEO)和网络内容管…...
HTB Perfection
Perfection User Namp ┌──(kali㉿kali)-[~/HTB/machine/Perfection] └─$ nmap -A 10.129.226.58 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-03 21:10 EST Nmap scan report for 10....
如何远程连接MySQL数据库?
在现代互联网时代,远程连接MySQL数据库成为了许多开发者和管理员必备的技能。这不仅方便了数据的共享和管理,还可以使多个团队在全球范围内协同工作。本文将介绍如何通过天联组网实现远程连接MySQL数据库,并实现高效的信息远程通信。 天联组网…...
【 HTML 及浏览器 】前端跨页面通信
前端跨页面通信:连接分散界面的纽带 在构建复杂的前端应用时,我们常常需要在不同的页面之间进行数据通信。无论是同源页面还是非同源页面,通信机制都是实现多页面数据同步和交互的关键。本文将探讨各种前端跨页面通信的方法,并提…...
内存安全的编程语言
美国政府新颁布《回归基础构件:通往安全软件之路》 《回归基础构件:通往安全软件之路》中,白宫国家网络主任办公室(ONCD)呼吁开发者使用「内存安全的编程语言」 内存安全的编程语言 根据NSA的建议,内存…...
Excel常用公式总结非常实用
16个最实用的Excel万能公式 1、多条件判断 IF(And(条件1,条件2..条件N),条件成立返回值) IF(or(条件1,条件2..条件N),条件成立返回值) 2、多条件查找 Lookup(1,0/((条件1*条件2*...条件N)),返回值区域) 3、多条件求和 Sumifs(值区域,判断区域1,条件1,判断区域2,条…...
window路径特殊字符解决
官方定义命名规范 https://learn.microsoft.com/zh-cn/windows/win32/fileio/naming-a-file 重点 1.目录规范 特殊字符以空格 与点.开头结尾 2.文件规范 特殊字符以空格 与点.开头结尾NUL、COM等文件 解决方案 字符标点符号实际上在字符集定义中有一个很有趣的现象&…...
『大模型笔记』RAG 系统开发中的12大痛点及解决方案
RAG 系统开发中的12大痛点及解决方案 文章目录 问题引入一. 痛点 1:缺失内容1.1. 数据清洗的重要性1.2. 精心设计的提示(Prompt)有助于提高准确性二. 痛点 2:关键文档被遗漏2.1. 通过调整 chunk_size 和 similarity_top_k 参数优化检索效果2.2. 检索结果的优化排序三. 痛点…...
开源OFA镜像落地:为农业AI平台提供作物病害图片自动诊断描述支持
开源OFA镜像落地:为农业AI平台提供作物病害图片自动诊断描述支持 1. 项目概述:当AI遇见农业 想象一下这样的场景:一位农民在田间发现作物叶片出现异常斑点,他拿出手机拍照上传,几秒钟后就能获得准确的病害描述和诊断…...
Hunyuan-MT-7B-WEBUI从零开始:环境搭建、模型加载、界面访问全流程
Hunyuan-MT-7B-WEBUI从零开始:环境搭建、模型加载、界面访问全流程 1. 准备工作与环境搭建 1.1 硬件与系统要求 在开始部署Hunyuan-MT-7B-WEBUI之前,我们需要确保硬件环境满足最低要求: GPU:推荐NVIDIA显卡,显存≥…...
Gemma-3-12B-IT WebUI效果展示:递归解释、SQL/NoSQL对比、装饰器教学三连案例
Gemma-3-12B-IT WebUI效果展示:递归解释、SQL/NoSQL对比、装饰器教学三连案例 1. 引言:当大模型有了图形界面 想象一下,你有一个知识渊博的编程助手,它不仅能在命令行里和你对话,还拥有了一个清爽、直观的网页界面。…...
Gemma 4推理增强版:专注数学与代码的QLoRA适配器
Gemma 4推理增强版:专注数学与代码的QLoRA适配器 【免费下载链接】gemma4-31b-Opus-4.6-reasoning 项目地址: https://ai.gitcode.com/hf_mirrors/kai-os/gemma4-31b-Opus-4.6-reasoning 导语:Google Gemma 4系列再添新成员,专注数学…...
OpenClaw自动化测试方案:Phi-3-vision-128k-instruct实现UI截图比对
OpenClaw自动化测试方案:Phi-3-vision-128k-instruct实现UI截图比对 1. 为什么需要自动化UI测试 在个人项目开发中,每次代码提交后手动检查页面样式是否错乱,是最容易被忽视却又最耗费精力的环节。我曾经历过一个典型场景:深夜修…...
零代码自动化:Gemma-3-12b-it镜像+OpenClaw图形化配置指南
零代码自动化:Gemma-3-12b-it镜像OpenClaw图形化配置指南 1. 为什么选择图形化配置 当我第一次接触自动化工具时,面对密密麻麻的API文档和YAML配置文件,那种"从入门到放弃"的感觉至今记忆犹新。直到发现OpenClaw的图形化配置界面…...
PostgreSQL 安装指南:常见问题排查与实战解决方案
1. PostgreSQL安装前的准备工作 第一次接触PostgreSQL的朋友可能会觉得安装过程有点复杂,但其实只要做好准备工作,安装过程就会顺利很多。我在帮团队部署PostgreSQL环境时,发现90%的安装问题都源于前期准备不足。下面分享几个关键点ÿ…...
OpenClaw语音交互:Qwen3.5-9B实现钉钉语音指令转任务执行
OpenClaw语音交互:Qwen3.5-9B实现钉钉语音指令转任务执行 1. 为什么需要语音交互的自动化助手 作为一个长期被会议纪要和日报折磨的开发者,我一直在寻找能解放双手的解决方案。键盘快捷键和脚本自动化虽然能解决部分问题,但当我在通勤路上突…...
OpenClaw学习助手方案:Qwen3.5-9B自动整理课程PDF与生成思维导图
OpenClaw学习助手方案:Qwen3.5-9B自动整理课程PDF与生成思维导图 1. 为什么需要自动化学习助手? 去年备考PMP认证时,我每天要处理上百页PDF教材。手动整理重点、制作思维导图耗费了30%的学习时间。直到发现OpenClawQwen3.5的组合࿰…...
Flutter Riverpod:状态管理的新纪元
Flutter Riverpod:状态管理的新纪元告别 Provider 的繁琐,拥抱 Riverpod 的简洁与强大。一、为什么选择 Riverpod? 作为一名追求代码如散文般优雅的 UI 匠人,我对状态管理工具有着近乎偏执的要求。Riverpod 不仅解决了 Provider 的…...
