Java ArrayList
Java ArrayList 类是一个可变大小的数组,位于 java.util 包中。
创建 ArrayList
import java.util.ArrayList;
ArrayList<String> cars = new ArrayList<String>(); // 创建一个 ArrayList 对象添加元素
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");访问元素
cars.get(0); // 获取第一个元素修改元素
cars.set(0, "Opel"); // 修改第一个元素删除元素
cars.remove(0); // 删除第一个元素
cars.clear(); // 删除所有元素ArrayList 大小
cars.size(); // 获取 ArrayList 大小循环遍历 ArrayList
for 循环:
for (int i = 0; i < cars.size(); i++) {
  System.out.println(cars.get(i));
}for-each 循环:
for (String car : cars) {
  System.out.println(car);
}使用其他类型
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(10);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(25);对 ArrayList 进行排序
import java.util.Collections;
Collections.sort(cars); // 对字符串的 ArrayList 进行排序
Collections.sort(myNumbers); // 对整数的 ArrayList 进行排序ArrayList 是 Java 中常用的数据结构,它可以存储各种类型的数据,并且可以根据需要调整大小。
ArrayList 的优势:
- 可变大小
- 可以存储各种类型的数据
- 提供多种方法来访问、修改和删除元素
- 可以使用 Collections类进行排序
ArrayList 的劣势:
- 速度比数组慢
- 可能会浪费内存空间
建议:
- 当需要存储可变大小的数据集合时,使用 ArrayList。
- 当需要快速访问数据时,使用数组。
- 当需要存储大量数据时,考虑使用其他数据结构,例如 HashMap。
Java LinkedList
LinkedList 类与 ArrayList 类相似,但它们之间也有一些重要的区别。
创建 LinkedList
// 导入 LinkedList 类
import java.util.LinkedList;
public class Main {
    public static void main(String[] args) {
        LinkedList<String> cars = new LinkedList<>();
        cars.add("Volvo");
        cars.add("BMW");
        cars.add("Ford");
        cars.add("Mazda");
        System.out.println(cars);
    }
}ArrayList 与 LinkedList
相同点:
- 它们都实现了 List接口,因此它们具有相同的方法。
- 它们都可用于存储各种类型的数据。
- 它们都允许您添加、删除和修改元素。
不同点:
- ArrayList使用数组存储数据,而- LinkedList使用链表存储数据。
- ArrayList通常更快,因为它可以直接访问元素。
- LinkedList更灵活,因为它可以更轻松地插入和删除元素。
何时使用:
- 如果您需要快速访问列表中的随机元素,请使用 ArrayList。
- 如果您需要经常插入和删除元素,请使用 LinkedList。
LinkedList 方法
LinkedList 提供了一些 ArrayList 没有的方法,这些方法可以更有效地执行某些操作:
| 方法 | 描述 | 
|---|---|
| addFirst() | 将元素添加到列表的开头。 | 
| addLast() | 在列表的末尾添加元素。 | 
| removeFirst() | 从列表的开头删除元素。 | 
| removeLast() | 从列表的末尾删除元素。 | 
| getFirst() | 获取列表开头的元素。 | 
| getLast() | 获取列表末尾的元素。 | 
示例
// 添加元素到列表的开头
cars.addFirst("Toyota");
// 添加元素到列表的末尾
cars.addLast("Mercedes");
// 删除列表开头的元素
cars.removeFirst();
// 删除列表末尾的元素
cars.removeLast();
// 获取列表开头的元素
String firstCar = cars.getFirst();
// 获取列表末尾的元素
String lastCar = cars.getLast();LinkedList 是一种灵活的数据结构,可以有效地执行某些操作。如果您需要经常插入和删除元素,LinkedList 是一个不错的选择。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注

 
  
  
  
 