Java ArrayList 与 LinkedList 的灵活选择
Java ArrayListJava 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,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]