Java List类

欢迎来到Cefler的博客😁
🕌博客主页:折纸花满衣
🏠个人专栏:Java

目录
- 👉🏻List
- 1. 接口与实现
- 2. 特性
- 3. 常用方法
- 4. 示例代码
- 5. 遍历
- 6. 线程安全
👉🏻List
Java的 List 类是 Java Collections Framework 中的一部分,主要用于存储有序的元素集合。List 接口提供了一种顺序存储元素的方式,可以通过索引来访问和修改元素。下面是一些 List 的基本概念和特点:
1. 接口与实现
List是一个接口,主要有两个常用的实现类:ArrayList:基于动态数组实现,支持随机访问,适合读取频繁的场景。LinkedList:基于链表实现,适合频繁插入和删除操作的场景。
2. 特性
- 有序性:
List中的元素是按插入顺序排列的,元素可以重复。 - 可变性:
List是可变的,可以随时添加、删除和更新元素。 - 动态大小:与数组不同,
List的大小是动态的,可以根据需要扩展。
3. 常用方法
add(E e):将指定元素添加到列表的末尾。add(int index, E element):在指定位置插入元素。remove(int index):移除指定位置的元素。get(int index):获取指定位置的元素。set(int index, E element):更新指定位置的元素。size():返回列表中的元素数量。isEmpty():判断列表是否为空。contains(Object o):检查列表是否包含指定元素。
4. 示例代码
以下是一个简单的示例,展示了如何使用 ArrayList:
import java.util.ArrayList;
import java.util.List;public class ListExample {public static void main(String[] args) {List<String> fruits = new ArrayList<>();// 添加元素fruits.add("Apple");fruits.add("Banana");fruits.add("Cherry");// 访问元素System.out.println(fruits.get(1)); // 输出: Banana// 修改元素fruits.set(1, "Blueberry");// 删除元素fruits.remove("Apple");// 打印列表System.out.println(fruits); // 输出: [Blueberry, Cherry]}
}
5. 遍历
- 可以使用增强的 for 循环或迭代器来遍历
List。
for (String fruit : fruits) {System.out.println(fruit);
}
6. 线程安全
List接口的实现类如ArrayList和LinkedList默认不是线程安全的。如果在多线程环境中使用,需要考虑同步机制,例如使用Collections.synchronizedList()。
如上便是本期的所有内容了,如果喜欢并觉得有帮助的话,希望可以博个点赞+收藏+关注🌹🌹🌹❤️ 🧡 💛,学海无涯苦作舟,愿与君一起共勉成长


相关文章:
Java List类
欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:Java 目录 👉🏻List1. 接口与实现2. 特性3. 常用方法4. 示例代码5. 遍历6. 线程安全 👉🏻List Java的 List …...
使用 Internet 共享 (ICS) 方式分配ip
设备A使用dhcp的情况下,通过设备B分配ip并共享网络的方法。 启用网络共享(ICS)并配置 NAT Windows 自带的 Internet Connection Sharing (ICS) 功能可以简化 NAT 设置,允许共享一个网络连接给其他设备。 打开网络设置࿱…...
SMTP/IMAP服务发在线邮件时要用到
SMTP/IMAP服务 require PHPMailerAutoload.php; // 或 require class.phpmailer.php;// 创建实例 $mail new PHPMailer();// 设定邮件服务器 $mail->isSMTP(); $mail->Host smtp.example.com; // 邮件服务器地址 $mail->SMTPAuth true; $mail->Username your…...
Threejs绘制圆锥体
上一章节实现了胶囊体的绘制,这节来绘制圆锥体,圆锥体就是三角形旋转获得的,如上文一样,先要创建出基础的组件,包括场景,相机,灯光,渲染器。代码如下: initScene() {this…...
速通LLaMA3:《The Llama 3 Herd of Models》全文解读
文章目录 概览论文开篇IntroductionGeneral OverviewPre-TrainingPre-Training DataModel ArchitectureInfrastructure, Scaling, and EfficiencyTraining Recipe Post-TrainingResultsVision ExperimentsSpeech Experiments⭐Related WorkConclusionLlama 3 模型中的数学原理1…...
Python网络爬虫获取Wallhaven壁纸图片(源码)
** 话不多说,直接附源码,可运行! ** import requests from lxml import etree from fake_useragent import UserAgent import timeclass wallhaven(object):def __init__(self):# yellow# self.url "https://wallhaven.cc/search?co…...
智能化引领等保测评新时代:AI与大数据的深度融合
随着信息技术的飞速发展,等级保护测评(简称“等保测评”)作为保障信息系统安全的重要手段,正迎来前所未有的变革。在这一背景下,人工智能(AI)与大数据技术的深度融合,正引领等保测评…...
深入解析:HTTP 和 HTTPS 的区别
网络安全问题正变得日益重要,而 HTTP 与 HTTPS 对用户数据的保护十分关键。本文将深入探讨这两种协议的特点、工作原理,以及保证数据安全的 HTTPS 为何变得至关重要。 认识 HTTP 与 HTTPS HTTP 的工作原理 HTTP,全称超文本传输协议…...
《动手学深度学习》笔记1.11——实战Kaggle比赛:预测房价+详细代码讲解
目录 0. 前言 原书正文 1. 下载和缓存数据集 1.1 download() 下载数据集 1.2 download_extract() 解压缩 2. Kaggle 简介 3. 访问和读取数据集 4. 数据预处理 5. 训练(核心难点) 5.1 get_net() 定义模型-线性回归 5.2 log_rmse() 对数均方根…...
数据结构:单链表实现信息管理
一、函数声明部分 #ifndef __LINK_H__ #define __LINK_H__ #include <myhead.h> typedef struct Link1 {union{int len;//用于头结点,统计节点个数int data;//用于正常节点,存储数据};struct Link1 *next;//指针域 }Link,*Plink;/**********函数声…...
【Linux】解锁文件描述符奥秘,高效缓存区的实战技巧
fd和缓冲区 1. 文件描述符fd1.1. 概念与本质1.2. 打开文件的管理1.3. 一切皆文件的理解1.4. 分配规则1.5. 重定向的本质1.5.1. dup2 2. FILE中的缓冲区2.1. 概念2.2. 存在的原因2.3. 类型(刷新方案)2.4. 存放的位置2.4.1. 代码证明、现象解释 2.5. 模拟C标准库中的方法 1. 文件…...
EmguCV学习笔记 VB.Net 11.9 姿势识别 OpenPose
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…...
2024.9.26 Spark学习
资料: Spark基础入门-第一章-1.1-Spark简单介绍_哔哩哔哩_bilibili (1)基础知识 Apache Spark 是用于大规模数据(large-scale data)处理的统一分析引擎。 分布式处理数据 PySpark模块 Spark 和 Hadoop 有区别&…...
我与Linux的爱恋:进程地址空间
🔥个人主页:guoguoqiang. 🔥专栏:Linux的学习 文章目录 1.来段代码2.引入最基本的理解3.尝试理解 1.来段代码 #include <stdio.h> #include <string.h> #include <unistd.h> #include <stdlib.h&g…...
C++的哲学思想
C的哲学思想 文章目录 C的哲学思想💡前言💡C的哲学思想☁️C底层不应该基于任何其他语言(汇编语言除外)☁️只为使用的东西付费(不需要为没有使用到的语言特性付费)☁️以低成本提供高级抽象(更…...
IO(输入输出流)
1.IO a.介绍 i.IO是指Input和Output,即输入和输出,以内存为中心: 1.Input是指从外部读入数据到内存。 2.Output是指把数据从内存输出到外部。 ii.IO流是一种顺序读写数据的模式,它的特点是单向流动。数据类似自…...
python爬虫:从12306网站获取火车站信息
代码逻辑 初始化 (init 方法): 设置请求头信息。设置车站版本号。 同步车站信息 (synchronization 方法): 发送GET请求获取车站信息。返回服务器响应的文本。 提取信息 (extract 方法): 从服务器响应中提取车站信息字符串。去掉字符串末尾的…...
Android个性名片界面的设计——约束布局的应用
节选自《Android应用开发项目式教程》,机械工业出版社,2024年7月出版 做最简单的安卓入门教程,手把手视频、代码、答疑全配齐 【任务目标】 使用约束布局、TextView控件实现一个个性名片界面的设计,界面如图1所示。 图1 个性名片…...
Python 课程18-SQLAlchemy
前言 SQLAlchemy 是一个功能强大的 Python SQL 工具包和对象关系映射(ORM)库,它使得开发者能够通过 Python 代码与数据库进行交互,而不必编写 SQL 查询。SQLAlchemy 提供了对多种数据库的支持,包括 MySQL、PostgreSQL…...
Module did not self-register: ‘drivelist.node‘报错解决
报错如下: node_modules/bindings/bindings.js:121throw e;^Error: Module did not self-register: xxxx/node_modules/drivelist/build/Release/drivelist.node.at process.func [as dlopen] (electron/js2c/asar.js:140:31)at Object.Module._extensions..node (…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...
基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...
数据库正常,但后端收不到数据原因及解决
从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...
