NotionNext
NotionNext
编程爱好者
/互联网从业者
/知识分享博主
认知决定态度,态度决定选择,选择决定人生

Java集合之ArrayList

NotionNext - 2023-4-16 - Technical / Java / 后端
发布于:2023-4-16|最后更新: 2023-8-29|
type
status
date
slug
summary
tags
category
icon
password

什么是数组列表?

notion image
  • 基于数组实现的容量大小可以动态变化的数据结构
  • 可以将很多数组操作的细节封装起来

什么是ArrayList?

  • ArrayList可以理解为动态可变的数组
  • 与传统数组不同,ArrayList可以自动增加或减少其大小以容纳其他元素,这使得ArrayList非常适用于对数据集合进行操作时,集合大小可能会随时更改的情况
  • 特点:查询效率高,增加删除效率低
  • ArrayList是List接口的可变数组实现,实现了List接口
  • ArrayList是线程不安全的,在并发的情况下使用可能会有一定的风险
  • Vector类是上古时代的ArrayList,现在已经不推荐使用

如何构造一个ArrayList?

ArrayList的方法

  • 重要:size/isEmpty/contians方法
  • indexOf/lastIndexOf方法
  • toArray方法
  • 重要:get/set/add/remove 方法
  • clear 方法
  • removeAll/retainAll/addAll/containsAll
    • 除了 containsAll 在 AbstractCollection 中实现,其它都在ArrayList中实现

实现一个自己的MyArrayList

  1. 定义属性字段
    1. 在数组的基础上实现:存储数据信息 int dada[]
    2. 属性:data,size,capacity
  1. 定义构造器实现
  1. 定义方法
    1. add,get,set,remove,size
Java中的泛型Java集合框架之抽象类