当前位置: 首页 > 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…...

clickhouse sql使用2

1、多条件选择 multiIf(cond_1, then_1, cond_2, then_2, …, else) select multiIf(true,0,1) 当第一条件不成立看第二条件判断 第一个参数条件参数&#xff0c;第二参数条件成立时走 2、clickhouse 在计算时候长出现NaN和Infinity异常处理 isNaN()和isInfinite()处理...

jrebel

JRebel最新版&#xff08;2024.1.2&#xff09;在线激活_jrebel 激活 2024-CSDN博客 JRebelXRebel热部署插件激活支持IDEA2023.1_jrebel and xrebel 激活-CSDN博客...

【单片机家电产品学习记录--红外线】

单片机家电产品学习记录–红外线 红外手势驱动电路&#xff0c;&#xff08;手势控制的LED灯&#xff09; 原理 通过红外线对管&#xff0c;IC搭建的电路&#xff0c;实现灯模式转换。 手势控制灯模式转换&#xff0c;详细说明 转载 1《三色调光LED台灯电路》&#xff0c…...

Java入门教程||Java Applet基础

Java Applet基础 applet是一种Java程序。它一般运行在支持Java的Web浏览器内。因为它有完整的Java API支持,所以applet是一个全功能的Java应用程序。 如下所示是独立的Java应用程序和applet程序之间重要的不同&#xff1a; Java中applet类继承了 java.applet.Applet类Applet…...

Python可视化概率统计和聚类学习分析生物指纹

&#x1f3af;要点 &#x1f3af;使用Jupyter Notebook执行Dash 应用&#xff0c;确定Dash输入输出&#xff0c;设计回调函数&#xff0c;Dash应用中包含函数。&#x1f3af;使用Plotly绘图工具&#xff1a;配置图对象选项&#xff0c;​将图转换为HTML、图像。使用数据集绘图…...

yolo v8 教程(不出5行代码让你学会)

Solving environment: failedPackagesNotFoundError: The following packages are not available from current channels:- python3.8https://github.com/ultralytics 下滑来到 先来介绍为什么写这篇博客&#xff0c; 一. 是我之前的yolov5的博客挺多人访问的&#xff0c;但是…...

MongoDB集合结构分析工具Variety

工具下载地址&#xff1a;GitHub - variety/variety: Variety: a MongoDB Schema Analyzer 对于Mongo这种结构松散的数据库来说&#xff0c;如果想探查某个集合的结构&#xff0c;通过其本身提供的功能很不方便&#xff0c;通过调研发现一个很轻便的工具--variety&#xff0c;…...

详解Qt中访问数据库

在Qt中访问数据库涉及到几个关键步骤&#xff0c;主要包括加载数据库驱动、建立数据库连接、执行SQL语句、读取结果等。下面将详细介绍这些步骤&#xff0c;并给出一个简单的示例&#xff0c;这里假设使用的是SQLite数据库。 记得首先在pro文件中添加QT sql 1. 加载数据库驱动…...

《QT实用小工具·三》偏3D风格的异型窗体

1、概述 源码放在文章末尾 可以在窗体中点击鼠标左键进行图片切换&#xff0c;项目提供了一些图片素材&#xff0c;整体风格偏向于3D类型&#xff0c;也可以根据需求自己放置不同的图片。 下面是demo演示&#xff1a; 项目部分代码如下所示&#xff1a; 头文件部分&#xff…...

如何优化TCP?TCP的可靠传输机制是什么?

在网络世界中&#xff0c;传输层协议扮演着至关重要的角色&#xff0c;特别是TCP协议&#xff0c;以其可靠的数据传输特性而广受青睐。然而&#xff0c;随着网络的发展和数据量的激增&#xff0c;传统的TCP协议在效率方面遭遇了挑战。小编将深入分析TCP的可靠性传输机制&#x…...

苏州seo网络推广/青岛关键词优化seo

最近在公司做一个环境检测方面的工作&#xff0c;其中检测的一项内容是MsOffice由PPT转换成Image的功能&#xff0c;下面我详细说下怎样来实现。 既然要在Eclipse使用该功能&#xff0c;就需要有相应的jar包和dll文件&#xff0c;我们这里用到的jar包便是jacob.jar&#xff0c;…...

在线购物商城系统/搜索引擎优化的含义

题目 给定一个单链表&#xff0c;其中的元素按升序排序&#xff0c;将其转换为高度平衡的二叉搜索树。 本题中&#xff0c;一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例 给定的有序链表&#xff1a; [-10, -3, 0, 5, 9], 一个…...

查看网站是否做百度推广/seo发展前景怎么样啊

匹配次数用 &#xff5b;&#xff5d;界定re.search 能产生group(), 可以访问每个组的字符串re.findall 产生的结果是列表&#xff0c;其中的元素可以是字符串&#xff0c;也可以是元组Microsoft Windows [版本 6.1.7601]版权所有 (c) 2009 Microsoft Corporation。保留所有权利…...

做赌石网站客服的经验/免费公司网站建站

一、集群规划 这里搭建一个 3 节点的 HBase 集群&#xff0c;其中三台主机上均为 Regin Server。同时为了保证高可用&#xff0c;除了在 hadoop001 上部署主 Master 服务外&#xff0c;还在 hadoop002 上部署备用的 Master 服务。Master 服务由 Zookeeper 集群进行协调管理&am…...

哈尔滨网站制作开发报价/googleseo服务公司

1、javaBean的概述1、javaBeam(咖啡豆)是一种开发规范&#xff0c;也可以说是一种技术。2、JavaBean就是一个普通java类&#xff0c;只要符合以下规定才能称作为javaBean&#xff1a;1) 必须提供无参构造器&#xff1b;2) 类中属性必须私有化(private)&#xff1b;3) 类中提供公…...

可以做电算化的网站/网站快速排名推广软件

原标题&#xff1a;王者荣耀维护经常玩王者荣耀的小伙伴今天可能会发现&#xff0c;游戏登录不上去了&#xff0c;那是因为王者荣耀在今天更新维护了&#xff0c;游戏更新维护后王者荣耀新英雄马超上线&#xff0c;你是否期待呢&#xff1f;王者荣耀计划在2019年8月15日0&#…...