Java :List,LinkedList,ArrayList

文章目录

  • List常用方法
  • List集合的遍历方式
  • ArrayList底层的原理
  • LinkedList底层原理
    • 常用方法

List常用方法

在这里插入图片描述

//1.创建一个ArrayList集合对象(有序、有索引、可以重复)
List<String> list = new ArrayList<>();
list.add("蜘蛛精");
list.add("至尊宝");
list.add("至尊宝");
list.add("牛夫人"); 
System.out.println(list); //[蜘蛛精, 至尊宝, 至尊宝, 牛夫人]//2.public void add(int index, E element): 在某个索引位置插入元素
list.add(2, "紫霞仙子");
System.out.println(list); //[蜘蛛精, 至尊宝, 紫霞仙子, 至尊宝, 牛夫人]//3.public E remove(int index): 根据索引删除元素, 返回被删除的元素
System.out.println(list.remove(2)); //紫霞仙子
System.out.println(list);//[蜘蛛精, 至尊宝, 至尊宝, 牛夫人]//4.public E get(int index): 返回集合中指定位置的元素
System.out.println(list.get(3));//5.public E set(int index, E e): 修改索引位置处的元素,修改后,会返回原数据
System.out.println(list.set(3,"牛魔王")); //牛夫人
System.out.println(list); //[蜘蛛精, 至尊宝, 至尊宝, 牛魔王]

List集合的遍历方式

有四种,多了一种可以用索引遍历的方式
普通for循环,迭代器,增强for,forEach

public class Test_List_for {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("张三");list.add("李四");list.add("王五");//1. 普通for循环for (int i = 0; i < list.size(); i++) {System.out.println(i);// 索引System.out.println(list.get(i));}//2. 增强forfor(String s : list){System.out.println(s);}//3. 迭代器遍历Iterator<String> it = list.iterator();while(it.hasNext()){System.out.println(it.next());}//4. forEachlist.forEach(s -> System.out.println(s));}
}

ArrayList底层的原理

ArrayList集合底层是基于数组结构实现的,也就是说当往集合容器中存储元素时,底层本质上是往数组里存数据
在这里插入图片描述

  1. 数组长度不可变,但集合长度可变
    数组不可以扩容,底层是创建一个新的数组,把原数组的所有元素都复制到新数组去

LinkedList底层原理

LinkedList底层是链表结构,双向链表。可以用来设计栈结构,队列结构
在这里插入图片描述

常用方法

在这里插入图片描述

public static void main(String[] args) {// LinkedList模拟队列:先进先出LinkedList<String> queue = new LinkedList<>();// 入队queue.addLast("1人");queue.addLast("2人");queue.addLast("3人");queue.addLast("4人");System.out.println(queue);// 出队System.out.println(queue.removeFirst());System.out.println(queue.removeFirst());System.out.println(queue.removeFirst());System.out.println(queue.removeFirst());System.out.println("`````````````````");// LinkedList模拟栈:后进先出LinkedList<String> stack = new LinkedList<>();// 入栈  push = addFirststack.addFirst("1ren");stack.addFirst("2ren");stack.push("3ren");stack.push("4ren");System.out.println(stack);// 出栈  pop  = removeFirstSystem.out.println(stack.pop());System.out.println(stack.pop());System.out.println(stack.removeFirst());System.out.println(stack.removeFirst());System.out.println(stack);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/89292.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/89292.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLM面试题及讲解 4

LLM面试题及讲解 4 目录 LLM面试题及讲解 4 题目讲解 一、基础概念与理论 二、模型训练与优化 三、应用与实践 四、前沿研究与趋势 大型语言模型(LLM)的核心特征是什么? LLM与传统NLP技术的本质区别是什么? Transformer架构的基本组成部分有哪些?其在LLM中为何重要? BERT…

Harmony-Next鸿蒙实战开发项目-仿小米商城App----V2

1.、简介 本项目是Harmony-Next原生开发&#xff0c;真实网络请求。采用V2等状态管理装饰器。包含&#xff08;首页、分类、发现、购物车、我的、登录、搜索&#xff0c;搜索结果&#xff0c;商品详情等&#xff09;.包含V2对接口返回数据的深度监听。 2、页面展示&#xff1…

python闭包和装饰器(超详解)

目录 一、闭包的概念 1.概念 2.闭包的特征 3.闭包的作用 二、装饰器 1.什么是装饰器 2.装饰器的作用 1.统计代码耗时 2.对代码进行权限检查 3.记录日志 3.闭包和装饰器的关系 4.注意事项&#xff1a; 一、闭包的概念 1.概念 闭包&#xff08;Closure&#xff09;指…

解决hadoop常用到的问题

1.namenode无法启动问题 报错1. ERROR: Attempting to operate on hdfs namenode as root ERROR: but there is no HDFS_NAMENODE_USER defined. 原因&#xff1a;不能用 root 用户直接启动 Hadoop 的 HDFS 组件&#xff08;NameNode / DataNode / SecondaryNameNode&#xff0…

深度学习G3周:CGAN入门(生成手势图像)

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 基础任务&#xff1a; 1.条件生成对抗网络&#xff08;CGAN&#xff09;的基本原理 2.CGAN是如何实现条件控制的 3.学习本文CGAN代码&#xff0c;并跑通代码…

流式数据处理实战:用状态机 + scan 优雅过滤 AI 响应中的 `<think>` 标签

流式数据处理实战&#xff1a;用状态机 scan 优雅过滤 AI 响应中的 <think> 标签 1. 引言&#xff1a;流式数据处理的挑战 在现代 AI 应用开发中&#xff0c;流式 API&#xff08;如 OpenAI、Claude 等&#xff09;能实时返回分块数据&#xff0c;提升用户体验。但流式…

【实时Linux实战系列】硬件中断与实时性

在实时系统中&#xff0c;硬件中断是系统响应外部事件的关键机制之一。硬件中断允许系统在执行任务时被外部事件打断&#xff0c;从而快速响应这些事件。然而&#xff0c;中断处理不当可能会导致系统延迟增加&#xff0c;影响系统的实时性。因此&#xff0c;优化中断处理对于提…

基于DTLC-AEC与DTLN的轻量级实时语音降噪系统设计与实现

基于DTLC-AEC与DTLN的轻量级实时语音降噪系统设计与实现 1. 引言 在当今的实时通信应用中,语音质量是影响用户体验的关键因素之一。环境噪声和回声会严重降低语音清晰度,特别是在移动设备和嵌入式系统上。本文将详细介绍如何将两种先进的开源模型——DTLC-AEC(深度学习回声…

基于Hadoop与LightFM的美妆推荐系统设计与实现

文章目录有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主项目介绍总结每文一语有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 项目介绍 本项目旨在基于大数据Hadoop平台和机器学习技术&#xff0c;构建一套面向美妆…

notepad++ 多行复制拼接

如何将中文一 一复制到英文后面按住 ALT ,鼠标左键拖动多行选中中文Ctrl C 复制 在英文的第一行结尾处 Ctrl v 粘贴

【前沿技术动态】【AI总结】Spring Boot 4.0 预览版深度解析:云原生时代的新里程碑

Spring Boot 4.0 预览版深度解析&#xff1a;云原生时代的新里程碑 最低 Java 17&#xff0c;原生支持虚拟线程&#xff0c;性能提升最高800%&#xff0c;Spring Boot 4.0 带来开发体验与运行时性能的全面飞跃 Spring Boot 4.0 的预览版在2025年5月底悄然上线&#xff0c;标志着…

OkHttp 框架封装一个 HTTP 客户端,用于调用外部服务接口

✅ 背景与需求 需要基于 OkHttp 框架封装一个 HTTP 客户端&#xff0c;用于调用外部服务接口&#xff08;如拼团回调&#xff09;&#xff0c;实现以下功能&#xff1a; 动态传入请求地址&#xff08;URL&#xff09;支持 JSON 请求体实现类放在 infrastructure 层的 gateway…

使用Collections.max比较Map<String, Integer>中的最大值

文章目录使用Collections.max比较Map<String, Integer>中的最大值基本方法1. 比较Map的值2. 比较Map的键自定义比较器1. 按值降序排列2. 复杂比较逻辑完整示例代码性能考虑替代方案1. 使用Stream API (Java 8)2. 手动遍历实际应用场景注意事项总结使用Collections.max比较…

鸿蒙状态栏操作

1.鸿蒙设备基础信息 1.1图解 1.1窗口内容规避区域 AvoidArea7 窗口内容规避区域。 窗口内容规避区域。如系统栏区域、刘海屏区域、手势区域、软键盘区域等与窗口内容重叠时&#xff0c;需要窗口内容避让的区域。在规避区无法响应用户点击事件。 除此之外还需注意规避区域的如…

Product Hunt 每日热榜 | 2025-07-17

1. Brain MAX by ClickUp 标语&#xff1a;一款AI应用统治一切&#xff1a;你的知识 语音转文字 介绍&#xff1a;Brain MAX 是 ClickUp 完全原生的桌面应用&#xff0c;旨在提升生产力&#xff0c;帮助你摆脱 AI 的杂乱无章。只需每月 9 美元&#xff0c;就可以使用所有的 …

如何使用VScode使用ssh连接远程服务器不需要输入密码直接登录

ssh-keygen 之后一直默认 回车 确认即可结果 (base) amaxamax:/data/std$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/amax/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again:…

vue实现el-table-column中自定义label

vue实现el-table-column中自定义label<el-table-columnlabel"操作"align"left"width"50"><template #header><div><el-buttonsize"mini"type"primary"icon"el-icon-plus"circle></el-…

Vue 常用的 ESLint 规则集

对Vue项目来说&#xff0c;Vue 官方通过 eslint-plugin-vue 提供了多个规则集&#xff08;Rule Sets&#xff09;&#xff0c;适用于不同严格度和 Vue 版本。以下是主要的规则集及其对应的 ESLint 插件和用途&#xff1a; 1. Vue 2.x 规则集 适用于 Vue 2 项目&#xff0c;规则…

AbMole小课堂 | Angiotensin II(血管紧张素Ⅱ)在心血管研究中的多元应用

Angiotensin II&#xff08;血管紧张素Ⅱ&#xff0c;AbMole&#xff0c;M6240&#xff09;是一种血管收缩剂&#xff0c;也是肾素-血管紧张素系统 (RAS) 的主要效应肽。Angiotensin II参与动物的血压调节、水电解质平衡等经典生理过程在科研中Angiotensin II被广泛用于动物心血…

【Unity】Mono相关理论知识学习

一种编译技术。优点&#xff1a;支持JIT编译&#xff1a;在运行时将IL编译成机器码。首次执行稍慢&#xff0c;好处在于运行更快&#xff0c;迭代更高效。构建速度快&#xff1a;无需将IL转成C&#xff0c;构建过程省去了IL2CPP的转换和原生编译步骤&#xff0c;适合开发阶段快…