java集合框架(三)ArrayList常见方法的使用
@[toc]
## 一、什么是ArrarList
ArrayList是Java中的一个动态数组类,可以根据实际需要自动调整数组的大小。ArrayList是基于数组实现的,它内部维护的是一个Object数组,默认初始化容量为10,当添加的元素个数超过了当前容量时,会自动扩容。
ArrayList也被广泛用于Java中的集合框架,例如Java中的List和Vector都是基于ArrayList实现的。下面是ArrayList常见的方法及其使用方法。
使用场景:
ArrayList适用于需要动态添加、删除元素的场景,可以用于存储不确定数量的数据。ArrayList也可以用于需要频繁访问集合元素的场景,因为它的底层是基于数组实现的,可以通过索引值快速访问元素。
另外,由于ArrayList是基于数组实现的,因此在数据量较大时,会占用较多的内存空间,因此需要考虑内存的使用。对于频繁进行插入、删除操作的场景,可以使用LinkedList来代替ArrayList。
总之,ArrayList更适合于需要频繁访问、添加、删除元素的场景,而LinkedList则更适合于需要频繁进行插入和删除操作的场景。
## 二、常见方法
| 返回类型 |方法 |描述 |
|--|--|--|
| boolean | add(E o) | 将指定元素追加到此列表的结尾。|
| void | add(int index, E element) | 将指定的元素插入此列表中的指定位置。 |
| boolean | addAll(Collection<? extends E> c) | 按照指定 Collection 的迭代器所返回的元素顺序,将该 Collection 中的所有元素追加到此列表的尾部。 |
| boolean |addAll(int index, Collection<? extends E> c) | 从指定的位置开始,将指定 Collection 中的所有元素插入到此列表中。 |
| void | clear() | 从此列表中移除所有元素。 |
| void | ensureCapacity(int minCapacity) | 如有必要,增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。 |
| E | get(int index) | 返回此列表中指定位置上的元素。 |
| int| indexOf(Object elem) | 搜索指定参数第一次出现的位置,使用 equals 方法进行相等性测试。 |
| boolean | isEmpty()| 测试此列表中是否没有元素。 |
| int | lastIndexOf(Object elem) | 返回指定的对象在列表中最后一次出现的位置索引。 |
| E | remove(int index) | 移除此列表中指定位置处的元素。 |
| boolean | remove(Object o) | 从此列表中移除指定元素的单个实例(如果存在),此操作是可选的。 |
| protected void | removeRange(int fromIndex, int toIndex) | 移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元素。 |
| E | set(int index, E element) | 用指定的元素替代此列表中指定位置上的元素。 |
| int | size() | 返回此列表的元素数。 |
下面是一个示例代码:
### add()方法:
在ArrayList末尾添加元素或在指定位置添加。
```java
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("apple");
list.add("banana");
list.add("orange");
System.out.println(list);
}
}
```
输出结果为:
```
[apple, banana, orange]
```
### get()方法:
获取指定位置元素。
```java
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("apple");
list.add("banana");
list.add("orange");
String fruit = list.get(1);
System.out.println(fruit);
}
}
```
输出结果为:
```
banana
```
### remove()方法:
删除指定位置或指定元素。
```java
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("apple");
list.add("banana");
list.add("orange");
list.remove(1);
System.out.println(list);
list.remove("orange");
System.out.println(list);
}
}
```
输出结果为:
```
[apple, orange]
[apple]
```
### size()方法:
获取ArrayList的元素个数。
```java
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("apple");
list.add("banana");
list.add("orange");
int size = list.size();
System.out.println(size);
}
}
```
输出结果为:
```
3
```
### set()方法:
替换指定位置的元素。
```java
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("apple");
list.add("banana");
list.add("orange");
list.set(1, "pear");
System.out.println(list);
}
}
```
输出结果为:
```
[apple, pear, orange]
```
### indexOf()方法:
查找指定元素的位置。
```java
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("apple");
list.add("banana");
list.add("orange");
int index = list.indexOf("banana");
System.out.println(index);
}
}
```
输出结果为:
```
1
```
### clear()方法:
清空ArrayList中的所有元素。
```java
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("apple");
list.add("banana");
list.add("orange");
list.clear();
System.out.println(list);
}
}
```
输出结果为:
```
[]
```
有不好的地方,可以指出大家一起共同进步
java集合框架(三)ArrayList常见方法的使用的更多相关文章
- Java集合框架之ArrayList浅析
Java集合框架之ArrayList浅析 一.ArrayList综述: 位于java.util包下的ArrayList是java集合框架的重要成员,它就是传说中的动态数组,用MSDN中的说法,就是Ar ...
- Java——集合框架之ArrayList,LinkedList,迭代器Iterator
概述--集合框架 Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection ...
- java 集合框架(三)Collection
一.概述 Collection是集合框架的根接口.不同的集合具有不同的特性,比如有的集合可以有重复元素,有的不可以,有的可以排序,有的不可排序,如此等等,而Collection作为集合的根接口,它规范 ...
- java集合框架03——ArrayList和源码分析
最近忙着替公司招人好久没写了,荒废了不好意思. 上一章学习了Collection的架构,并阅读了部分源码,这一章开始,我们将对Collection的具体实现进行详细学习.首先学习List.而Array ...
- Java集合框架(一)-ArrayList
大佬理解->Java集合之ArrayList 1.ArrayList的特点 存放的元素有序 元素不唯一(可以重复) 随机访问快 插入删除元素慢 非线程安全 2.底层实现 底层初始化,使用一个Ob ...
- 深入理解java集合框架之---------Arraylist集合
ArrayList简介 ArrayLIst是动态数组,用MSDN的说法就是Array的复杂版本,它提供了动态的增加和减少元素,实现了Collection和List接口,可以灵活的设置数组的大小,要注意 ...
- 深入理解java集合框架之---------Arraylist集合 -----添加方法
Arraylist集合 -----添加方法 1.add(E e) 向集合中添加元素 /** * 检查数组容量是否够用 * @param minCapacity */ public void ensur ...
- Java集合框架(三)
Map Map集合:该集合存储键值对,一对一对的往里存,而且要保证键的唯一性. Map |------HashTable:底层是哈希表数据结构,不可以存入null键null值.该集合是线程同步的.J ...
- java集合框架05——ArrayList和LinkedList的区别
前面已经学习完了List部分的源码,主要是ArrayList和LinkedList两部分内容,这一节主要总结下List部分的内容. List概括 先来回顾一下List在Collection中的的框架图 ...
- java集合框架之ArrayList
参考http://how2j.cn/k/collection/collection-arraylist/363.html 使用数组的局限性 一个长度是10的数据:Hero[] heroArr=new ...
随机推荐
- 文心一言 VS 讯飞星火 VS chatgpt (73)-- 算法导论7.1 4题
四.如何修改 QUICKSORT,使得它能够以非递增序进行排序? 文心一言: 快速排序(Quicksort)是一种常用的排序算法,基于分治策略进行设计.默认情况下,快速排序会以递增序进行排序.若想修改 ...
- 记一次Android项目升级Kotlin版本(1.5 -> 1.7)
原文地址: 记一次Android项目升级Kotlin版本(1.5 -> 1.7) - Stars-One的杂货小窝 由于自己的历史项目Kotlin版本比较老了,之前已经升级过一次了(1.4-&g ...
- Azure Data Factory(六)数据集类型为Dataverse的Link测试
一,引言 之前有讲过 Azure Data Factory 的 Copy Data 的操作,演示了将 Blob Storage1 的数据通过 Azure Data Factory 复制到 Blob S ...
- 重复的dna序列
DNA序列 由一系列核苷酸组成,缩写为 'A', 'C', 'G' 和 'T'.. 例如,"ACGAATTCCG" 是一个 DNA序列 . 在研究 DNA 时,识别 DNA 中的重 ...
- Vim深入使用指南
Vim深入使用指南 Vim是一款功能强大的文本编辑器,被广泛用于编写和编辑各种类型的文档和代码. 安装Vim 可以操作系统下载并安装Vim.在安装完成后,通过在终端中输入vim命令来启动Vim. Vi ...
- 【krpano】KRPano打开黑屏: FATAL ERROR
在KRPano开发过程中,初学者打开项目经常遇到如下的问题: FATAL ERROR:tour.xml – loading failed! (0) 或者是: ERROR:Local usage wit ...
- Blazor前后端框架Known-V1.2.15
V1.2.15 更新日期 2023-09-17 更新内容 修复角色不启用相关问题 RadioList组件支持平原(Plain)模式 CheckList组件支持平原(Plain)模式 DataGrid组 ...
- 【网络爬虫笔记】爬虫Robots协议语法详解
Robots协议是指一个被称为Robots Exclusion Protocol的协议.该协议的主要功能是向网络蜘蛛.机器人等搜索引擎爬虫提供一个标准的访问控制机制,告诉它们哪些页面可以被抓取,哪些页 ...
- Asp-Net-Core开发笔记:快速在已有项目中引入EFCore
前言 很多项目一开始选型的时候没有选择EFCore,不过EFCore确实好用,也许由于种种原因后面还是需要用到,这时候引入EFCore也很方便. 本文以 StarBlog 为例,StarBlog 目前 ...
- Groovy初学者指南
本文已收录至GitHub,推荐阅读 Java随想录 微信公众号:Java随想录 原创不易,注重版权.转载请注明原作者和原文链接 目录 Groovy & Java Groovy语法 动态类型 元 ...