【Java】顺序表

news2024/11/25 4:56:42

文章目录

  • 顺序表
  • LinkedList
  • ArrayList
    • 构造方法
      • 带参(int)构造
      • 不带参构造
      • 满,需要扩容
    • remove()
        • remove(int)
        • remove(Object)
      • subList()
  • 几点注意
  • 顺序表的优缺点
    • 优点:
    • 缺点:

顺序表

底层是数组,进行动态分配后可以进行使用

LinkedList

可以通过这个顺序表进行构造,构造出来的顺序表已含有此顺序表

ArrayList

构造方法

带参(int)构造

构造出含有这么大空间的数组进行使用

不带参构造

不进行添加,这个数组就不分配空间;当第一次调用add()方法时,分配10个内存空间。

满,需要扩容

使用 Arrays.copyOf(this.elem, 2 * this.elem.length)即可完成扩容至原来的2倍大小

remove()

在这里插入图片描述

remove(int)

删除下标处的值

remove(Object)

删除与参数相等的数据
在这里插入图片描述
参数是Object类型,需要是引用,所以需要使用new Integer()。

subList()

  1. 截取是左闭右开区间进行截取
  2. 截取并不会产生新的对象,只会向后取到应该截取的地址,所以对于截取的子对象进行修改同时也会对源对象造成更新

几点注意

  1. 在Java中,基本类型(如int、double等)不能作为泛型类型参数
  2. 一个引用,如果能够直接通过sout进行输出,一定重写了toString()(如ArrayList)在这里插入图片描述
  3. 顺序表适合静态数据的保存和访问

顺序表的优缺点

优点:

  1. 随机访问

缺点:

  1. 随机插入、删除效率低
  2. 动态分配空间时会空间浪费

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

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

相关文章

NAT种类和NAT穿越

NAT种类 说明 NAT有三种类型:静态NAT(tatic NAT)、动态地址NAT(Pooled NAT)和网络地址端口转换(NetworkAddress PortTranslation,NAPT)。 其中静态NAT设置起来最简单; 内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址&#x…

求出0~100000之间的所有“水仙花数”并输出

求出0~100000之间的所有“水仙花数”并输出。 “水仙花数”是指一个N位数,其各位数字的n次方之和正好等于该数本身。 如:1531^3 5^3 3^3 , 则153是一个“水仙花数” 先来了解一下水仙花数的概念: 水仙花数只是自幂数的一种,严…

Flutter侧边栏组件Drawer

主要代码: drawer: const Drawer(child: Column(children: [Row(children: [Expanded(flex: 1,child: UserAccountsDrawerHeader(accountName: Text("张三"),accountEmail: Text("xxxqq.com"),currentAccountPicture: CircleAvatar(backgroundI…

解决git克隆到本地的仓库文件夹不显示红色感叹号、绿色对号等图标的问题

电脑有时候重启或者别的什么原因导致本地仓库不显示绿勾或者红色感叹号的符号 第一步: win加R然后输入regedit打开注册表 第二步: 按下面路径打开 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers 找到如下图在Tort…

浅谈JVM内存结构

一、JVM内存结构的大概划分: 1.1 堆(Heap) 线程共享。所有的对象实例以及数组都要在堆上分配。回收器主要管理的对象。 1.1.1 堆结构 堆可以处于物理上不连续的内存空间中,只要逻辑上是连续的即可。堆的内部结构按照传统的做法分成新生代和老年代&…

喝汽水问题:1瓶汽水1元。2个空瓶可以换1瓶汽水,给20元,可以买多少汽水 (7.19)

泪目!!!终于是自己完完整整写出的代码了,不翻资料也没看参考代码 (之前的要么和老师练习,要么找教材东拼西凑) 方法2:数学角度看bottle价值0.5 元,20元最多可换40bottl…

Python venv 和 virtualenv 虚拟环境的基本使用

1.前言 venv 和 virtualenv 都是搭建虚拟环境的工具,virtualenv 是第三方开源的,而 venv 作为 virtualenv 的一个子集自 Python3.3 开始集成到标准库中,在 virtualenv 的文档中可以看到他们的区别: 没有 app-data 种子方法&#…

LLM 盛行,如何优雅地训练大模型?

作者 | 王嘉宁 整理 | NewBeeNLP https://wjn1996.blog.csdn.net/article/details/130764843 大家好,这里是 NewBeeNLP。 ChatGPT于2022年12月初发布,震惊轰动了全世界,发布后的这段时间里,一系列国内外的大模型训练开源项目接踵而…

手把手教你搭建SpringCloud项目(十)集成Hystrix之服务降级

什么是微服务?一看就会系列! 一、手把手教你搭建SpringCloud项目(一)图文详解,傻瓜式操作 二、手把手教你搭建SpringCloud项目(二)生产者与消费者 三、手把手教你搭建SpringCloud项目&#x…

公司老项目改造适配不同分辨率2k、3k、4k

项目改造适配不同分辨率 最近公司要做项目适配2k、3k、4k屏的分辨率,在网上找了很多中方案,常用且方便的是使用zoom全局缩放,因为是老项目所以对样式进行了重写整体使用了flex百分比布局 使用 1、在utils文件夹中新建一个zoom.js文件 这个是…

ACL 2023 | 持续进化中的语言基础模型

尽管如今的 AI 模型已经具备了理解自然语言的能力,但科研人员并没有停止对模型的不断改善和理论探索。自然语言处理(NLP)领域的技术始终在快速变化和发展当中,酝酿着新的潮流和突破。 NLP 领域的顶级学术会议国际计算语言学年会 …

java中的三大集合类各自的特点以及适用场景

目录 ​编辑 三大容器的介绍 使用场景介绍 List 实现类 Map 实现类 Set 实现类: 三大容器的介绍 List(列表) 结构:由有序的元素序列组成,可以包含重复元素特点:可以通过索引访问元素,插入的顺…

SQL注入实操(更新中)

文章目录 一、sqli-lab靶场搭建二、通关笔记1.Less-1a.单引号‘b.updatexmlc.concatd.unione.information_schemaf.GROUP_CONCATg.select 1,2 2.Less-23.Less-3a.怎么找到注入点b.判断SQL注入漏洞的类型c.闭合语句d.如何判断显示位e.答案 4.Less-45.Less-5a.判断注入漏洞的依据…

PhpStudy2016-2018-RCE 漏洞复现

漏洞描述 PHPStudyRCE(Remote Code Execution),也称为phpstudy_backdoor漏洞,是指PHPStudy软件中存在的一个远程代码执行漏洞。 漏洞影响范围 Phpstudy软件是国内的一款免费的PHP调试环境的程序集成包,通过集成Apac…

WEB:shrine

背景知识 了解Flask SSIT模板注入 题目 进行代码审计 import flask import osapp flask.Flask(__name__) /*创建了flask包下的Flask类的对象,name是一个适用于多数情况的快捷方式。有了这个参数,Flask才知道在哪里可以找到模板和静态文件*/app.confi…

HYPE分布式水文模型教程

详情点击链接:HYPE分布式水文模型建模方法与案例分析 前言 HYPE(Hydrological Predictions for the Environment, HYPE)是由瑞典皇家水文气象局(SMHI)在HBV和HBV-NP模型基础上开发的新一代分布式水文模型,已经在全球众多地区得…

同样是办公管理系统,钉钉和OA哪个更出色?

企业在选择办公协同系统的时候,通常搜索到“钉钉”和“OA系统”,两者都属于办公管理类型,但哪个更适合企业使用?两者又有哪些区别呢?小编整理了一下两者的对比和侧重的点,今天我们就来聊聊两者的区别吧~ 天…

【Linux】inode软硬连接

文章目录 📖 前言1. 文件系统1.1 磁盘的物理结构:1.2 CSH和LBA:1.3 IO的基本单位:1.4 文件系统结构:1.5 认识inode: 2. 软硬连接2.1 目录和文件的硬连接数:2.2 软连接:2.3 硬连接&am…

Clickhouse基础和基本优化

CK基础和基本优化 一、ClickHouse的特点列式存储高吞吐写入能力数据分区与线程级并行表引擎的使用MergeTreeReplacingMergeTreeSummingMergeTree 二、SQL操作1.Insert2.Update 和 Delete3.查询操作4.alter操作5.导出数据 三、基于表的分布式集群集群写入流程( 3分片…

react和vue2/3父子组件的双向绑定(sync、emit、v-model)

目录 Vue .sync(2.3.0) $emit (2.3后) 自定义组件的 v-model 2.2.0 v-modelemits(3.0取消了.sync) React 父组件回调函数 相关基础 框架 MVC (Model View Controller)/MVP(Model View…