ArrayList底层采用数组实现,LinkedList底层采用双向链表实现。
ArrayList采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦。
LinkedList采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引但是缺点就是查找非常麻烦要从第一个索引开始。
所以,当执行插入或者删除操作时,采用LinkedList比较好。当执行搜索操作时,采用ArrayList比较好。
package jihe;
import java.util.ArrayList;
import java.util.LinkedList;
public class demo3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
/** LinkedList<String> L= new LinkedList<String>();
L.add("1");
L.add("2");
L.add("3");
L.add("4");
System.out.println("链表的第一个元素是"+L.getFirst());
System.out.println("链表的最后一个元素是"+L.getLast());
System.out.println(L);
//添加首 、尾元素
L.addFirst("x");
L.addLast("h");
System.out.println("--------------------");
System.out.println(L);