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

Java 中的 List 集合

文章目录

  • 添加元素
  • 获取元素
  • 检查元素
  • 删除元素
  • 修改元素
  • 获取列表大小
  • 检查列表是否为空
  • 清空列表
  • 查找元素索引
  • 获取列表的子列表

List 是 Java 集合框架中的一个接口,它表示一个有序的集合(序列),允许存储重复的元素。List 接口提供了许多方法来操作列表中的元素。以下是一些常用的 List 方法及其示例:

添加元素

add(E e):列表的末尾添加指定的元素。
add(int index, E element):在列表的指定位置插入指定的元素。

List<String> list =new ArrayList<>();  
list.add("Apple"); // 在末尾添加元素  
list.add(1, "Banana"); // 在索引1的位置插入元素  
System.out.println(list); // 输出: [Apple, Banana]  

获取元素

get(int index):返回列表中指定位置的元素。

List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
list.add("Cherry");  
String fruit = list.get(1); // 获取索引1的元素  
System.out.println(fruit); // 输出: Banana  

检查元素

contains(Object o):如果此列表包含指定的元素,则返回 true。

List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
boolean containsBanana = list.contains("Banana");  
System.out.println(containsBanana); // 输出: true  

删除元素

remove(int index):除列表中指定位置的元素。
remove(Object o):移除列表中首次出现的指定元素。

List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
list.add("Cherry");  
list.remove(1); // 移除索引1的元素  
System.out.println(list); // 输出: [Apple, Cherry]  list.remove("Apple"); // 移除元素Apple  
System.out.println(list); // 输出: [Cherry]  

修改元素

可以通过索引直接修改 List 中的元素,因为 List 允许随机访问。

List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
list.set(0, "Orange"); // 修改索引0的元素为Orange  
System.out.println(list); // 输出: [Orange, Banana]  

获取列表大小

size():返回列表中的元素数量。

List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
int size = list.size(); // 获取列表大小  
System.out.println(size); // 输出: 2  

检查列表是否为空

isEmpty():如果此列表不包含元素,则返回 true。

List<String> list = new ArrayList<>();  
boolean isEmpty = list.isEmpty(); // 检查列表是否为空  
System.out.println(isEmpty); // 输出: true  list.add("Apple");  
isEmpty = list.isEmpty(); // 再次检查列表是否为空  
System.out.println(isEmpty); // 输出: false  

清空列表

clear():移除列表中的所有元素。

List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
list.clear(); // 清空列表  
System.out.println(list.isEmpty()); // 输出: true,因为列表已被清空  

查找元素索引

indexOf(Object o):返回此列表中首次出现的指定元素的索引,如果此列表不包含该元素,则返回 -1。
lastIndexOf(Object o):返回此列表中最后一次出现的指定元素的索引,如果此列表不包含该元素,则返回 -1。

List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
list.add("Apple");  int index = list.indexOf("Apple"); // 查找首次出现的Apple的索引  
System.out.println(index); // 输出: 0  int lastIndex = list.lastIndexOf("Apple"); // 查找最后一次出现的Apple的索引  
System.out.println(lastIndex); // 输出: 2  int notFoundIndex = list.indexOf("Cherry"); // 查找不存在的元素  
System.out.println(notFoundIndex); // 输出: -1  

获取列表的子列表

subList(int fromIndex, int toIndex):返回列表中指定的 fromIndex(包括)和 toIndex(不包括)之间的部分视图。

List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
list.add("Cherry");  
list.add("Date");  List<String> subList = list.subList(1, 3); // 获取索引1到3(不包含3)的子列表  
System.out.println(subList); // 输出: [Banana, Cherry] 

相关文章:

Java 中的 List 集合

文章目录 添加元素获取元素检查元素删除元素修改元素获取列表大小检查列表是否为空清空列表查找元素索引获取列表的子列表 List 是 Java 集合框架中的一个接口&#xff0c;它表示一个有序的集合&#xff08;序列&#xff09;&#xff0c;允许存储重复的元素。List 接口提供了许…...

数据库之DDL操作(数据库,表,字段)

Data Definition Language&#xff0c;数据库定义语言&#xff0c;用来定义数据库对象&#xff08;数据库&#xff0c;表&#xff0c;字段&#xff09; 1.数据库操作 1.1查询所有数据库 show databases; 1.2查询当前数据库 show databases(); 1.3创建数据库 create da…...

5.3.1 配置交换机 SSH 管理和端口安全

5.3.1 实验1:配置交换机基本安全和 SSH管理 1、实验目的 通过本实验可以掌握&#xff1a; 交换机基本安全配置。SSH 的工作原理和 SSH服务端和客户端的配置。 2、实验拓扑 交换机基本安全和 SSH管理实验拓扑如图所示。 交换机基本安全和 SSH管理实验拓扑 3、实验步骤 &a…...

Django--数据库连接

数据库配置 打开mysite/settings.py配置文件&#xff0c;这是整个Django项目的设置中心。Django默认使用SQLite3数据库&#xff0c;因为Python原生支持SQLite3数据库&#xff0c;所以你无须安装任何程序&#xff0c;就可以直接使用它。 下面是默认的数据库配置&#xff1a; …...

CKA 基础操作教程(二)

Kubernetes Deployment 理论学习 Kubernetes Deployment &#xff08;部署&#xff09;是一种 Kubernetes 资源对象&#xff0c;用于定义和管理容器化应用程序的部署和更新。Deployment 提供了一种声明性的方式来定义应用程序的期望状态&#xff0c;并负责确保所需数量的 Pod…...

【SQLServer】快速查看SQL Server中所有数据库中所有表的行数

1.查看某个数据库中每个表的行数 SELECT @@servername as servername, db_name() as databasename, s.name AS schemaname, t.name AS tablename,p.rows AS rowcounts,SUM(a...

Node.js------Express

◆ 能够使用 express.static( ) 快速托管静态资源◆ 能够使用 express 路由精简项目结构◆ 能够使用常见的 express 中间件◆ 能够使用 express 创建API接口◆ 能够在 express 中启用cors跨域资源共享 一.初识Express 1.Express 简介 官方给出的概念&#xff1a;Express 是基…...

CSS - 你实现过0.5px的线吗

难度级别:中级及以上 提问概率:75% 我们知道在网页显示或是网页打印中,像素已经是最小单位了,但在很多时候,即便是最小的1像素,精度却不足以呈现所需的线条精度和细节。因此,为了在网页显示和网页打印中呈现更加细致的线条,为了在视觉…...

hbuilderX创建的uniapp项目转移到vscode

场景&#xff1a;一直使用hbuilderX开发的朋友想转移到vscode获取更好的TypeScript支持&#xff0c;所以想把整个项目目录拖到vscode进行开发&#xff0c;但发现运行不了&#xff0c;提示没有package.json等&#xff0c;并且不能执行pnpm命令 首先&#xff0c;我们先来看一下h…...

JavaScript 事件流

JavaScript与HTML之间的交互是通过事件实现的&#xff0c;而用户与浏览器页面的互动也是通过事件来实现的事件就是文档或浏览器窗口中发生的一些特定的交互瞬间&#xff0c;所以分为两种事件&#xff0c;一是发生在 浏览器对象&#xff08;BOM&#xff09;上的事件&#xff0c;…...

HTML——5.表单、框架、颜色

一、表单 HTML 表单用于在网页中收集用户输入的数据&#xff0c;例如登录信息、搜索查询等。HTML 提供了一系列的表单元素&#xff0c;允许用户输入文本、选择选项、提交数据等。 <!DOCTYPE html> <html lang"en"> <head> <meta charset&q…...

Docker、Kubernetes之间的区别

比较容器化工具&#xff1a;了解 Docker、Kubernetes 在应用程序部署和管理方面的差异。 基本概述 Docker 是一个流行的容器化平台&#xff0c;允许开发人员在容器中创建、部署和运行应用程序。 Docker 提供了一组工具和 API&#xff0c;使开发人员能够构建和管理容器化应用程…...

【21-40】计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了

【21-40】计算机网络基础知识&#xff08;非常详细&#xff09;从零基础入门到精通&#xff0c;看完这一篇就够了 以下是本文参考的资料 欢迎大家查收原版 本版本仅作个人笔记使用21、HTTPS是如何保证数据传输的安全&#xff0c;整体的流程是什么&#xff1f;&#xff08;SSL是…...

软考111-上午题-【计算机网络】-URL和DNS

一、URL解析 org&#xff1a;各类组织结构&#xff08;非盈利团队&#xff09; 1-1、顶级域 顶级域名是域名的最后一个部分&#xff0c;即是域名最后一点之后的字母&#xff0c;例如&#xff1a;www.baidu.com这个域名中&#xff0c;顶级域是.com&#xff08;或.COM&#xff…...

EasyCVR视频汇聚平台海康Ehome2.0与5.0设备接入时的配置区别

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...

echarts实现炫酷科技感的流光效果

前言&#xff1a; echarts实现炫酷科技感的流光效果 效果图&#xff1a; 实现步骤&#xff1a; 1、引入echarts,直接安装或者cdn引入 npm i echarts https://cdn.jsdelivr.net/npm/echarts5.4.3/dist/echarts.min.js 2、封装 option方法&#xff0c;第一个数据是折线数据&a…...

从多模态生物图数据中学习Gene的编码-MuSeGNN

由于数据的异质性&#xff0c;在不同的生物医学背景下发现具有相似功能的基因对基因表示学习提出了重大挑战。在本研究中&#xff0c;作者通过引入一种称为多模态相似性学习图神经网络的新模型来解决这个问题&#xff0c;该模型结合了多模态机器学习和深度图神经网络&#xff0…...

Redis Desktop Manager可视化工具

可视化工具 Redis https://www.alipan.com/s/uHSbg14XmsL 提取码: 38cl 点击链接保存&#xff0c;或者复制本段内容&#xff0c;打开「阿里云盘」APP &#xff0c;无需下载极速在线查看&#xff0c;视频原画倍速播放。 官网下载&#xff08;不推荐&#xff09;&#xff1a;http…...

ARM汇编与逆向工程:揭秘程序背后的神秘世界

文章目录 一、ARM汇编语言&#xff1a;底层世界的密码二、逆向工程&#xff1a;软件世界的侦探工作三、ARM汇编与逆向工程的完美结合四、ARM汇编逆向工程的风险与挑战五、ARM汇编逆向工程的未来展望《ARM汇编与逆向工程 蓝狐卷 基础知识》内容简介作者简介译者简介ChaMd5安全团…...

idea使用docker将Java项目生成镜像并使用

1&#xff1a;开启docker 远程访问 使用 vim 编辑docker服务配置文件 vim /lib/systemd/system/docker.service [Service] Typenotify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not suppor…...

OpenClaw + 搜索与资讯:让 AI 帮你「刷」信息,告别信息焦虑

你每天花多少时间刷信息流&#xff1f;30分钟&#xff1f;1小时&#xff1f;今天这篇文章&#xff0c;帮你把这段时间降为零。 01 信息过载是现代人的标配焦虑 早上醒来第一件事是什么&#xff1f;很多人已经条件反射地拿起手机&#xff0c;打开微信公众号、知乎、微博、Twitt…...

接地系统安装怎么做才靠谱?从施工流程、质量验收到常见误区

在建筑电气、工业厂房、机电安装、弱电机房、消防系统和防雷系统中&#xff0c;接地系统安装都是绕不开的基础工作。它不像配电柜、桥架、灯具那样“看得见、拍得出”&#xff0c;但它一旦做不好&#xff0c;轻则设备故障、信号干扰、漏电保护误动作&#xff0c;重则引发触电风…...

基于Dify和RAG技术的AI智能客服准确率优化实战

在构建基于Dify的AI智能客服时&#xff0c;我们常常会遇到一个核心挑战&#xff1a;模型给出的回答听起来头头是道&#xff0c;但仔细一核对&#xff0c;却发现它“一本正经地胡说八道”。例如&#xff0c;在一个医疗健康咨询场景中&#xff0c;用户询问“布洛芬和头孢可以一起…...

四旋翼无人机自抗扰控制算法的深度研究与ADRC轨迹跟踪实现:附带详细说明文档

四旋翼无人机自抗扰控制算法研究 ADRC 轨迹跟踪 附带说明文档 飞控调试间里飘着咖啡香&#xff0c;小张盯着屏幕上抖得像筛糠的无人机轨迹曲线&#xff0c;第17次把咖啡杯捏得咯吱响。四旋翼在风洞实验室的强风里表演着醉拳&#xff0c;传统PID控制器的参数怎么调都像在打地鼠。…...

如何免费获取Microsoft Word APA第7版参考文献格式:完整安装指南

如何免费获取Microsoft Word APA第7版参考文献格式&#xff1a;完整安装指南 【免费下载链接】APA-7th-Edition Microsoft Word XSD for generating APA 7th edition references 项目地址: https://gitcode.com/gh_mirrors/ap/APA-7th-Edition 还在为学术论文的参考文献…...

辅助用电系统安装:工业项目电力配套的关键环节问题全解析

在工业厂房、园区配套、商业综合体、仓储物流中心以及各类生产型项目中&#xff0c;很多人一提到电气工程&#xff0c;第一反应往往是高压配电、变压器、动力柜或者主供电系统。但真正决定项目是否“好用、稳用、久用”的&#xff0c;往往不是主系统本身&#xff0c;而是隐藏在…...

Stable Diffusion像素艺术工作流:Pixel Fashion Atelier预设Prompt指令集详解

Stable Diffusion像素艺术工作流&#xff1a;Pixel Fashion Atelier预设Prompt指令集详解 1. 像素艺术创作新体验 Pixel Fashion Atelier为设计师和艺术创作者带来了一种全新的像素艺术创作方式。这个基于Stable Diffusion与Anything-v5的工作站&#xff0c;将复古日系RPG的视…...

工业现场部署必须知道的4个硬指标:FPS≥35、首帧<80ms、内存≤1.2GB、MTBF≥180天(附实测数据白皮书)

第一章&#xff1a;工业现场Python视觉部署的硬指标体系解析在工业现场&#xff0c;Python视觉系统并非仅关注算法精度&#xff0c;其落地成败高度依赖一系列可量化的硬性工程指标。这些指标直接决定系统能否在严苛的产线环境中长期稳定运行&#xff0c;涵盖实时性、鲁棒性、资…...

从Autoencoder到VAE:探索生成模型的演进之路

1. 从数据压缩到生成模型&#xff1a;Autoencoder的诞生 2006年&#xff0c;当Geoffrey Hinton团队首次提出Autoencoder&#xff08;自编码器&#xff09;时&#xff0c;这个看似简单的神经网络结构悄然打开了深度学习的新篇章。想象一下你正在整理杂乱的书架——先把书籍按主题…...

MedGemma 1.5效果对比:在线大模型vs本地MedGemma在医学术语解释准确性评测

MedGemma 1.5效果对比&#xff1a;在线大模型vs本地MedGemma在医学术语解释准确性评测 1. 引言&#xff1a;为什么需要本地医疗AI助手&#xff1f; 想象一下&#xff0c;你或者家人身体不舒服&#xff0c;想在网上查查症状&#xff0c;结果搜出来一堆广告、营销号文章&#x…...