赞
踩
基本概念:
**之前创建数组的时候,需要声明提前声明数组的大小,**ArrayList是一个可以动态修改的数组,与普通数组的区别就是没有固定大小的限制,它会动态调整长度。
**ArrayList继承了AbstractList,并实现了List接口。**如下图:
**ArrayList 类位于 java.util 包中,**使用前需要引入它,语法格式如下:
import java.util.ArrayList; // 引入 ArrayList 类
那么声明并且初始化的语法如下:
ArrayList<E> objectName =new ArrayList<>(); // 初始化
ArrayList 是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。
下面是具体的例子:
import java.util.ArrayList; import java.util.Iterator; public class ArrayListExample { public static void main(String[] args) { ArrayList<String> fruits = new ArrayList<>(); // 添加元素到列表末尾 fruits.add("Apple"); fruits.add("Banana"); fruits.add("Orange"); // 修改元素 fruits.set(1, "Mango");//set()返回之前在 index 位置的元素 。并且替换动态数组中的某元素:如果 index 值超出范围,则抛出 IndexOutOfBoundsException 异常。 // 删除元素 fruits.remove("Orange");//remove()如果传入索引值,则返回删除的元素。成功返回true,否则false。注意:如果指定的索引超出范围,则该方法将抛出 IndexOutOfBoundsException 异常。 // 查找元素 String fruit = fruits.get(0);//get(index)方法查找索引处的值 // 遍历元素(方式一:使用 for 循环) for (int i = 0; i < fruits.size(); i++) { System.out.println(fruits.get(i)); } // 遍历元素(方式二:使用迭代器) Iterator<String> iterator = fruits.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } // 遍历元素(方式三:使用 for-each 循环) for (String item : fruits) { System.out.println(item); } //获取ArrayList中的元素数量使用size()方法 System.out.println(fruits.size()); } }
按照示例代码中的顺序执行,输出结果如下:
Apple
Mango
2
反思:通过我们上面的例子,我们实现了 ArrayList 的增加元素、修改元素、删除元素、查找元素和遍历元素的操作。
根据需求选择适合的遍历方式来访问 ArrayList 中的元素。
Collections 类也是一个非常有用的类,位于 java.util 包中,提供的 sort() 方法可以对字符或数字列表进行排序。
以下实例对字母进行排序:
import java.util.ArrayList; import java.util.Collections; // 引入 Collections 类 public class RunoobTest { public static void main(String[] args) { ArrayList<String> sites = new ArrayList<String>(); sites.add("Taobao"); sites.add("Wiki"); sites.add("Runoob"); sites.add("Weibo"); sites.add("Google"); Collections.sort(sites); // 字母排序 for (String i : sites) { System.out.println(i); } } }
以上实例,执行输出结果为:
Google
Runoob
Taobao
Weibo
Wiki
若是对数字进行排序:(默认从小到大)
import java.util.ArrayList; import java.util.Collections; // 引入 Collections 类 public class RunoobTest { public static void main(String[] args) { ArrayList<Integer> myNumbers = new ArrayList<Integer>(); myNumbers.add(33); myNumbers.add(15); myNumbers.add(20); myNumbers.add(34); myNumbers.add(8); myNumbers.add(12); Collections.sort(myNumbers); // 数字排序 for (int i : myNumbers) { System.out.println(i); } } }
以上实例,执行输出结果为:
8
12
15
20
33
34
Java ArrayList 常用方法列表如下:
方法 | 描述 |
---|---|
add() | 将元素插入到指定位置的 arraylist 中 |
addAll() | 添加集合中的所有元素到 arraylist 中 |
clear() | 删除 arraylist 中的所有元素 |
clone() | 复制一份 arraylist |
contains() | 判断元素是否在 arraylist |
get() | 通过索引值获取 arraylist 中的元素 |
indexOf() | 返回 arraylist 中元素的索引值 |
removeAll() | 删除存在于指定集合中的 arraylist 里的所有元素 |
remove() | 删除 arraylist 里的单个元素 |
size() | 返回 arraylist 里元素数量 |
isEmpty() | 判断 arraylist 是否为空 |
subList() | 截取部分 arraylist 的元素 |
set() | 替换 arraylist 中指定索引的元素 |
sort() | 对 arraylist 元素进行排序 |
toArray() | 将 arraylist 转换为数组 |
toString() | 将 arraylist 转换为字符串 |
ensureCapacity() | 设置指定容量大小的 arraylist |
lastIndexOf() | 返回指定元素在 arraylist 中最后一次出现的位置 |
retainAll() | 保留 arraylist 中在指定集合中也存在的那些元素 |
containsAll() | 查看 arraylist 是否包含指定集合中的所有元素 |
trimToSize() | 将 arraylist 中的容量调整为数组中的元素个数 |
removeRange() | 删除 arraylist 中指定索引之间存在的元素 |
replaceAll() | 将给定的操作内容替换掉数组中每一个元素 |
removeIf() | 删除所有满足特定条件的 arraylist 元素 |
forEach() | 遍历 arraylist 中每一个元素并执行特定操作 |
更多 API 方法可以查看:https://www.runoob.com/manual/jdk11api/java.base/java/util/ArrayList.html
结尾语:记录于2023年8月4号19时30分,以上仅为个人在[Java数据结构ArrayList—Java高级编程—菜鸟教程](Java ArrayList | 菜鸟教程 (runoob.com))的学习过程中遇到的问题,还有记录的个人想法,有错误欢迎指出,希望对您有帮助,感谢观看!如果可以的话,点点赞,点点关注
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。