Java列表示例
示例1:使用ArrayList创建并操作列表
ArrayList是List接口最常用的实现之一,它内部使用数组来存储元素,因此对于随机访问具有很高的效率。但是,当涉及到频繁的插入或删除操作时,它的性能可能会受到影响,因为这些操作可能需要移动大量元素以保持索引的一致性。
import java.util.ArrayList;
import java.util.List;public class ArrayListExample {public static void main(String[] args) {// 创建一个ArrayList实例List<String> names = new ArrayList<>();// 添加元素到列表names.add("Alice");names.add("Bob");names.add("Charlie");// 修改指定位置的元素names.set(1, "Bobby");// 获取指定位置的元素System.out.println("The second name is: " + names.get(1));// 删除指定位置的元素String removedName = names.remove(2);System.out.println("Removed name: " + removedName);// 遍历列表for (String name : names) {System.out.println(name);}// 输出列表大小System.out.println("Size of list: " + names.size());}
}
示例2:使用LinkedList处理频繁的插入与删除
LinkedList实现了List接口,并且基于双向链表的数据结构。这意味着它可以高效地进行插入和删除操作,尤其是在列表的两端。然而,对于随机访问而言,LinkedList的表现不如ArrayList好,因为它必须从头或尾开始遍历节点直到目标位置。
import java.util.LinkedList;
import java.util.List;public class LinkedListExample {public static void main(String[] args) {// 创建一个LinkedList实例List<String> queue = new LinkedList<>();// 向列表两端添加元素((LinkedList<String>) queue).addFirst("first");((LinkedList<String>) queue).addLast("last");// 从列表两端移除元素System.out.println("Removed from front: " + ((LinkedList<String>) queue).removeFirst());System.out.println("Removed from back: " + ((LinkedList<String>) queue).removeLast());// 在任意位置插入元素queue.add(0, "middle");// 遍历列表for (String item : queue) {System.out.println(item);}}
}
示例3:使用List.of()创建不可变列表
引入了一个新的静态工厂方法List.of(),用于快速创建固定内容的不可变列表。这种方法非常适合于那些不需要改变的集合,因为它提供了一种简洁的方式来定义常量集合,而且由于它是不可变的,所以更加安全。
import java.util.List;public class ImmutableListExample {public static void main(String[] args) {// 使用List.of()创建一个不可变列表List<String> immutableList = List.of("red", "green", "blue");// 尝试修改列表会抛出UnsupportedOperationException异常try {immutableList.add("yellow"); // 这行代码将导致运行时错误} catch (UnsupportedOperationException e) {System.out.println("Cannot modify an immutable list.");}// 安全地读取列表内容for (String color : immutableList) {System.out.println(color);}}
}
相关文章:
Java列表示例
示例1:使用ArrayList创建并操作列表 ArrayList是List接口最常用的实现之一,它内部使用数组来存储元素,因此对于随机访问具有很高的效率。但是,当涉及到频繁的插入或删除操作时,它的性能可能会受到影响,因为…...
Objective-C语言的网络编程
Objective-C语言的网络编程 引言 在现代软件开发中,网络编程逐渐成为一个不可或缺的部分,特别是在移动应用和分布式系统中。Objective-C 是一种主要用于 iOS 和 macOS 开发的编程语言,它在网络编程方面也有着丰富的支持。在这篇文章中&…...
安卓OCR使用(Google ML Kit)
OCR是一个很常用的功能,Google ML Kit提供了OCR能力,用起来也很简单,本文介绍一下使用方法。 1. 相关概念 名词概念解释TextBlock块一个段落Line行一行文本Element元素单词;对汉字来说,类似"开头 (分隔符)中间&…...
《机器学习》——贝叶斯算法
贝叶斯简介 贝叶斯公式,又称贝叶斯定理、贝叶斯法则,最初是用来描述两个事件的条件概率间的关系的公式,后来被人们发现具有很深刻的实际意义和应用价值。该公式的实际内涵是,支持某项属性的事件发生得愈多,则该属性成…...
【博主推荐】 Microi吾码开源低代码平台,快速建站,提高开发效率
🍬引言 🍬什么是低代码平台? 低代码平台(Low-Code Platform)是一种使开发人员和业务用户可以通过图形化界面和少量的编程来创建应用程序的开发工具。与传统的编程方式相比,低代码平台大大简化了开发过程&a…...
网站自动签到
我研究生生涯面临两个问题,一是写毕业论文,二是找工作,这两者又有很大的冲突。怎么解决这两个冲突呢?把python学好是一个路子,因此从今天我要开一个专栏就是学python 其实我的本意不是网站签到,我喜欢在起点…...
C 语言奇幻之旅 - 第16篇:C 语言项目实战
目录 引言1. 项目规划1.1 需求分析与设计1.1.1 项目目标1.1.2 功能需求1.1.3 技术实现方案 2. 代码实现2.1 模块化编程2.1.1 学生信息模块2.1.2 成绩管理模块 2.2 调试与测试2.2.1 调试2.2.2 测试2.2.4 测试结果 3. 项目总结3.1 代码优化与重构3.1.1 代码优化3.1.2 代码重构 3.…...
项目实战——使用python脚本完成指定OTA或者其他功能的自动化断电上电测试
前言 在嵌入式设备的OTA场景测试和其他断电上电测试过程中,有的场景发生在夜晚或者随时可能发生,这个时候不可能24h人工盯着,需要自动化抓取串口日志处罚断电上电操作。 下面的python脚本可以实现自动抓取串口指定关键词,然后触发…...
04、Redis深入数据结构
一、简单动态字符串SDS 无论是Redis中的key还是value,其基础数据类型都是字符串。如,Hash型value的field与value的类型,List型,Set型,ZSet型value的元素的类型等都是字符串。redis没有使用传统C中的字符串而是自定义了…...
【MySQL学习笔记】MySQL的索引
MySQL索引 1、索引概述2、 索引的数据结构2.1 BTree索引结构2.2 Hash索引结构2.3 InnoDB选择BTree的原因 3、索引分类4、索引的语法5、SQL性能分析5.1 SQL执行频率5.2 慢查询日志5.3 profile详情5.4 explain执行计划 6、索引使用规则6.1 最左前缀法则6.2 范围查询6.3索引失效情…...
利用ArcGIS快速准确地统计出地块的现状容积率
研究目的 根据建筑.dwg、建筑.dwg Annotation、建筑.dwg Polygon,地籍边界.shp等数据,利用GIS快速准确地统计出地块的现状容积率。 研究思路 加载数据图层:建筑.dwg Polygon、建筑.dwg Annotation,使用空间连接功能把建筑层数数…...
C++类的引入
C中类的前身 1> 面向对象三大特征:封装、继承、多态 2> 封装:将能够实现某一事物的所有万事万物都封装到一起,包括成员属性(成员变量),行为(功能函数)都封装在一起ÿ…...
【跨域问题】
跨域问题 官方概念: 当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域本质来说,是前端请求给到后端时候,请求头里面,有一个 Origin ,会带上 协议域名端口号等;后端接受到请求&…...
“深入浅出”系列之FFmpeg:(1)音视频开发基础
我的音视频开发大部分内容是跟着雷霄骅大佬学习的,所以笔记也是跟雷老师的博客写的。 一、音视频相关的基础知识 首先播放一个视频文件的流程如下所示: FFmpeg的作用就是将H.264格式的数据转换成YUV格式的数据,然后SDL将YUV显示到电脑屏幕上…...
Springboot3.4整合jsp
文章目录 环境 springboot3.4 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency> <!--用于编译jsp--> <!-- Tomcat Embed Jasper --> <dependency>…...
CSS:背景样式、盒子模型与文本样式
背景样式 背景样式用于设置网页元素的背景,包括颜色、图片等。 背景颜色 使用 background-color 属性设置背景颜色,支持多种格式(颜色英文、十六进制、RGB等)。 div {background-color: lightblue; }格式示例十六进制#ff5733R…...
算法:线性查找
线性查找算法是一种简单的查找算法,用于在一个数组或列表中查找一个特定的元素。它从数组的第一个元素开始,逐个检查每个元素,直到找到所需的元素或搜索完整个数组。线性查找的时间复杂度为O(n),其中n是数组中的元素数量。 实现原理 从列表的第一个元素开始,逐个检查每个…...
【计算机网络】什么是网关(Gateway)?
网上冲浪多了,你可以听到过网关(Gateway)这个词,但是却不太清楚网关(Gateway)到底是干什么的、负责网络当中的什么任务,本篇文字将会为你介绍网关(Gateway)的作用&#x…...
20250106面试
rabbitmq如何保证消息不丢失 my: 持久化,包括消息持久化和队列持久化,重启不丢失。持久化到磁盘中的。 消息确认 死信队列:消费失败(业务异常/未确认,重试后,会放死信队列)&…...
Java 分布式锁:Redisson、Zookeeper、Spring 提供的 Redis 分布式锁封装详解
📚 Java 分布式锁:Redisson、Zookeeper、Spring 提供的 Redis 分布式锁封装详解 在分布式系统中,分布式锁 用于解决多个服务实例同时访问共享资源时的 数据一致性 问题。Java 生态中,有多种成熟的框架可以实现分布式锁࿰…...
AI 会取代测试工程师吗?来看看最新“AI程序员”Devine的翻车现场
引言:一条被炒得过热的赛道 2024年3月,Cognition Labs发布了Devin——一款被官方冠以“世界首位AI软件工程师”头衔的产品。演示视频中,Devin自主浏览文档、编写代码、运行测试、提交PR,甚至能在Upwork上接单挣钱。资本市场迅速反应:Cognition Labs在A轮融资中拿到了2100…...
独立开发者如何利用Taotoken构建多模型备用方案
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 独立开发者如何利用Taotoken构建多模型备用方案 对于独立开发者而言,项目的技术栈选择与成本控制至关重要。在集成大模…...
如何在Windows系统中创建虚拟游戏手柄?vJoy开源项目完全指南
如何在Windows系统中创建虚拟游戏手柄?vJoy开源项目完全指南 【免费下载链接】vJoy Virtual Joystick 项目地址: https://gitcode.com/gh_mirrors/vj/vJoy 你是否曾因缺少物理游戏手柄而无法体验某些经典游戏?或者需要为专业软件创建自定义控制方…...
浙江竹木纤维十大品牌厂家
在当下的装修市场中,竹木纤维墙板凭借环保、耐用、安装便捷等优势,成为主流墙面装饰材料。本次十大品牌评选综合研发能力、环保标准、产品品质、市场口碑和服务水平等维度。十大品牌亮点速览康品浙江德清康品集成家居股份有限公司是浙江源头企业…...
G-Helper完整指南:如何用10MB替代华硕Armoury Crate实现笔记本极致优化
G-Helper完整指南:如何用10MB替代华硕Armoury Crate实现笔记本极致优化 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivob…...
【开源软件移植】鸿蒙 PC 三方库适配实战:从 7-Zip Native 编译到 ArkTS 调用完整跑通
【开源软件移植】鸿蒙 PC 三方库适配实战:从 7-Zip Native 编译到 ArkTS 调用完整跑通 一、写在前面 欢迎加入开源鸿蒙PC社区:https://harmonypc.csdn.net/ 这篇文章记录的是把 7-Zip 的 .7z 压缩、校验、解压能力适配成 HarmonyOS / OpenHarmony PC …...
2025-2026年儿童护眼灯品牌推荐:TOP5评测口碑市场份额AI自动调光选择指南
摘要 在儿童青少年近视率持续攀升的今天,为孩子选择一盏真正懂得保护视力的学习灯,已成为众多家长的核心关切。然而,面对市场上琳琅满目的品牌与复杂的技术参数,家长们往往陷入“如何选、看什么、信谁”的决策困境。据世界卫生组织…...
[全网首发]百万短剧CMS系统_支持全网网盘转存拉新
内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 爱搜索正版管理系统安装教程 --------------------------------- 搭建要求环境如下 --------------------------------- 宝塔 --------------------------------- PHP7.2 Nginx 1.26.3 M…...
蓝牙5.0广播包PDU字段逐行解读:从ADV_IND到AUX_CHAIN_IND,新手也能看懂的报文拆解
蓝牙5.0广播包PDU字段逐行解读:从ADV_IND到AUX_CHAIN_IND 在物联网设备开发中,蓝牙低功耗(BLE)技术因其低功耗和简单连接特性而广受欢迎。但对于刚接触BLE协议的开发者来说,最头疼的莫过于理解那些晦涩的协议文档和复…...
AssetRipper:3步解锁Unity游戏资源逆向提取的终极免费方案
AssetRipper:3步解锁Unity游戏资源逆向提取的终极免费方案 【免费下载链接】AssetRipper GUI Application to work with engine assets, asset bundles, and serialized files 项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper 在Unity游戏开发…...
