Java集合(List、Set、Map)

2023-10-29

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是一种键值对的数据结构,允许将键映射到值。在使用集合时,我们应该根据具体的需求选择合适的集合类来存储和组织数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java集合(List、Set、Map) 的相关文章

随机推荐

  • UNIX环境高级编程 学习笔记 第十九章 伪终端

    终端登录是经由终端设备进行的 终端设备天然提供终端语义 在终端和运行程序之间有一个终端行规程 通过该规程我们能设置终端特殊字符 如退格 行删除 中断等 但当一个登录请求到达网络连接时 终端行规程并不是自动被加载到网络连接和登录shell之间
  • VSCode在linux服务器下launch.json和tasks.json等文件配置

    前言 用win下的VSCode远程连接linux服务器后 就可以用VSCode运行linux下代码了 在编译运行代码前 按照VSCode的要求 我们要给编译和执行操作分别配置一堆参数 这就是launch json和tasks json配置的
  • Android WebView加载优化,Android WebView 优化页面加载效果

    目前带有Web功能的APP越来越多 为了能够更好的使用WebView展示页面 可以考虑做相关的优化 WebView 缓存 资源文件本地存储 客户端UI优化 目前webapp越来越多 体验也越来越好 为了能够更好的使用WebView展示出流畅
  • 深入解析Spring使用枚举接收参数和返回值机制并提供自定义最佳实践

    Spring对应枚举传参 返回值默认是用字面量实现的 实际情况更复杂 而 阿里巴巴Java开发手册 规定接口返回值不可以使用枚举类型 包括含枚举类型的POJO对象 为此 本文探究了Spring内部对枚举参数的传递和处理机制 并提供了一套自定
  • JULES模型

    参考文献 1 2020 Calibrating soybean parameters in JULES 5 0 from the US Ne2 3 FLUXNET sites and the SoyFACE O 3 expe 流程 2 20
  • 排序算法详解

    概述 冒泡排序 应用1 把数组排成最小的数 应用2 移动零到数组末尾 排序算法是一类非常经典的算法 说来简单 说难也难 刚学编程时大家都爱用冒泡排序 随后接触到选择排序 插入排序等 历史上还有昙花一现的希尔排序 公司面试时也经常会问到快速排
  • 二维数组. 转置矩阵

    转自 二维数组 转置矩阵 知乎 二维数组 转置矩阵 Diamon 2 人赞同了该文章 867 转置矩阵 给你一个二维整数数组 matrix 返回 matrix 的 转置矩阵 矩阵的 转置 是指将矩阵的主对角线翻转 交换矩阵的行索引与列索引
  • 如何让“ChatGPT自己写出好的Prompt的“脚本在这里

    写个好的Prompt太费力了 在网上 你可能会看到很多人告诉你如何写Prompt 需要遵循各种规则 扮演不同的角色 任务明确 要求详细 还需要不断迭代优化 写一个出色的Prompt需要投入大量的时间和精力 甚至有一些公开的Prompt的开源
  • java前后端交互_Java之前后端数据交互

    1 前台发送数据到服务端 以及接受后台数据 前台发送数据到服务端 有两种方法 1 使用 表单发送同步请求 参数inputStr 参数intputInt 2 使用ajax发送异步请求 发送的数据为json对象 参数username 参数pas
  • 【报童模型】随机优化问题&&二次规划

    面对需求的不确定性 报童模型是做库存优化的常见模型 而标准报童模型假设价格是固定的 此时求解一个线性规划问题 可以得到最优订货量 这种模型存在局限性 因为现实世界中价格与需求存在一定的关系 本文假设需求q是价格p的线性函数 基于历史需求数据
  • 面试之你为什么从上家公司离职

    在上家公司 你为什么离职 请相信 百分之八十的面试官 要么是HR要么是技术负责人 或多或少都会问到的问题 如果问你这个问题 你该如何回答 举几个不太恰当的例子 大家尽量不要用下面的理由 我是感觉不太好 1 因为上家公司不能办公室谈恋爱 我就
  • centos7.0中搭建dhcp服务器

    一 dhcp 二 配置dhcp的方法 1 安装dhcp服务器 使用命令 vpm qa dhcp 查看一下dhcp有没有安装 如果没安装将不会有任何提示信息 如果安装好了 将会返回dhcp的版本号 可以看到我已经安装好了 在centos7的安
  • Swagger2介绍及使用

    项目中整合Swagger2 1 什么是swagger2 2 常用注解 3 项目中整合Swagger2 3 1 引入Swagger2依赖 3 2 编写swgger2配置类代码 3 3 在需要测试的模块中引入有swagger2的模块坐标 3 4
  • QT 智能提示设置

    关于QT的智能提示 有两点 一 默认只能在Ctrl Space或打 会自动转成 gt 的时候会出现 由于Ctrl Space默认在我电脑上是输入法的切换 所以一直以为没这个功能 敲代码时特别郁闷 于是在QT Creator中的Tool gt
  • 离散事件仿真原理DES

    参考 SYSTEM SIMULATION AND OPTIMIZATION 目录 1 系统仿真原理 1 1系统 模型和系统仿真 1 2系统仿真分类 1 2 1 蒙特卡洛仿真 Monte Carlo Simulation 1 2 2 离散系统
  • 傅里叶变换的一些总结

    傅里叶变换的一些总结 1 三角函数的正交性 三角函数系 1 c o s 0 x
  • 2023年Java面试笔试题

    Java 第一部分 1 什么叫多态 多态是同一个行为具有多个不同表现形式或形态的能力 即同一个接口采用不同的实例而执行不同的操作 2 以下哪个选 项属于多态存在的必要条件 A 继承 B 重写 C 父类引用指向子类对象 D 以上都是 多态存在
  • C语言代码规范

    1 排版 1 1 程序块要采用缩进风格编写 缩进的空格数为4个 1 2 相对独立的程序块之间 变量说明之后必须加空行 1 3 较长的语句 gt 80字符 要分成多行书写 长表达式要在低优先级操作符处划分新行 操作符放在新行之首 划分出的新行
  • 「网页开发|前端开发|Vue」06 公共组件与嵌套路由:让每一个页面都平等地拥有导航栏

    本文主要介绍在多个页面存在相同部分时 如何提取公共组件然后在多个页面中导入组件重复使用来减少重复代码 在这基础上介绍了通过嵌套路由的方式来避免页面较多或公共部分较多的情况下 避免不断手动导入公共组件的麻烦 并且加快页面跳转的速度 文章目录
  • Java集合(List、Set、Map)

    Java中的集合是用于存储和组织对象的数据结构 Java提供了许多不同的集合类 包括List Set和Map等 以满足不同的需求 下面将介绍一些常见的Java集合类及其使用方法 一 List List是一个有序的集合 它允许元素重复出现 并