Java集合框架中ArrayList与LinkedList区别示例

原创 小灰灰 2024-11-13 23:49 73阅读 0赞

Java集合框架中的ArrayListLinkedList都是实现了List接口的类,但它们在内部数据结构和性能特性上有所不同。以下是它们的主要区别和示例:

1.内部数据结构- ArrayList:基于动态数组实现,支持快速随机访问。

  • LinkedList:基于双向链表实现,每个元素都包含对前一个和后一个元素的引用。

2.性能特点- ArrayList

-随机访问速度快(O(1))。
-增加或删除元素时可能需要数组复制,速度较慢(O(n))。

  • LinkedList
    -随机访问速度慢(O(n))。
  • 在列表的任何位置添加或删除元素都很快(O(1)),因为只需要改变节点的引用。

3. 示例代码#### ArrayList 示例```javaimport java.util.ArrayList;

public class ArrayListExample {
public static void main(String[] args) {
ArrayList list = new ArrayList<>();
list.add(“Java”);
list.add(“Python”);
list.add(“C++”);

//随机访问 System.out.println(“Element at index1: “ + list.get(1));

// 添加元素 list.add(0, “JavaScript”);

// 删除元素 list.remove(“C++”);

//遍历 for (String lang : list) {
System.out.println(lang);
}
}
}
#### LinkedList 示例javaimport java.util.LinkedList;

public class LinkedListExample {
public static void main(String[] args) {
LinkedList list = new LinkedList<>();
list.add(“Java”);
list.add(“Python”);
list.add(“C++”);

//随机访问 System.out.println(“Element at index1: “ + list.get(1));

// 添加元素 list.addFirst(“JavaScript”);

// 删除元素 list.removeLast();

//遍历 for (String lang : list) {
System.out.println(lang);
}
}
}
``###4.适用场景- **ArrayList**:当你需要频繁随机访问列表中的元素时,使用ArrayList`更合适。

  • LinkedList:当你需要在列表的头部或中间频繁插入或删除元素时,使用LinkedList更合适。

选择ArrayList还是LinkedList取决于你的具体需求和操作类型。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,73人围观)

还没有评论,来说两句吧...

相关阅读