ArrayList和linkedList的区别精简概述

概述 :

Array(数组)是基于索引(index)的数据结构,它使用索引在数组中搜索和读取数据是很快的。

Array获取数据的时间复杂度是O(1),但是要删除数据却是开销很大,因为这需要重排数组中的所有 数据, (因为 删除数据以后,需要把后面所有的数据前移)

缺点:

数组初始化必须指定初始化的长度, 否则报错
javascript 复制代码
int[] a = new int[4];//推介使用int[] 这种方式初始化
int c[] = {23,43,56,78};//长度:4,索引范围:[0,3]

List

1, List---是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式,它继承Collection。

2 , List有两个重要的实现类:ArrayList和LinkedList

3 , ArrayList: 可以看作是能够自动增长容量的数组

4 , ArrayList的toArray方法返回一个数组

5 , ArrayList的asList方法返回一个列表

6 , ArrayList底层的实现是Array, 数组扩容实现

LinkList是一个双链表,在添加和删除元素时具有比ArrayList更好的性能.但在get与set方面弱于ArrayList.当然,这些对比都是指数据量很大或者操作很频繁。

相关推荐
代码什么用11 分钟前
Java Web 21-22
java·开发语言·web
灯澜忆梦31 分钟前
【Linux】#5 | 文件与目录基础操作命令
java·linux·运维
字节跳动的猫34 分钟前
LikeShop 搜索功能优化二开:中文分词、商品权重排序与搜索热词管理
android·java·中文分词
计算机毕设定制辅导-无忧学长35 分钟前
《基于微信小程序的校园文化活动报名与管理系统》
java·spring boot·微信小程序·uniapp·校园文化活动报名与管理小程序
靠沿38 分钟前
MySQL数据库基础——索引的使用&alter、explain关键字
java·数据库·mysql
96245639 分钟前
餐饮 SaaS 优惠券系统架构演进(七)营销定价引擎设计:活动、会员价、优惠券、买赠如何在同一 PriceQuote 中可解释地组合
java·运维·算法
码匠许师傅44 分钟前
【C++三方组件】redis-plus-plus:现代 Redis C++ 客户端
java·c++·redis
ab1237681 小时前
MQTT笔记
java·笔记·mqtt·学习
二宝哥1 小时前
【问题】代理转发到后端使用request.getRequestURL()地址没有端口
java
霸道流氓气质1 小时前
HashiCorp Vault 与云 KMS 入门实战:动态密钥、SecretLeaseContainer 与 Java 集成完整指南
java·开发语言