List集合最常用的两个子类,分别是ArrayList和LinkedList,本篇文章就来讲解这两个子类的进阶学习。
一、ArrayList
(1)ArrayList底层是用数组实现的,同时它也是继承了数组的特点:查询快、增删慢。继承自List,所以List有的功能他们也都有。
二、LinkedList
(1)LinkedList底层是用链表实现的,同时它也是继承了链表的特点:增删快、查询慢。继承自List,所以List有的功能他们也都有。
(2)特有功能
import java.util.LinkedList;
/*
* LinkedList底层实现是链表,所以其本身有很多特殊的功能
* void addFirst(E e)在该列表开头插入指定元素
* void addLast(E e)在该类表尾部加上指定元素
* E getFirst()返回此列表的第一个元素
* E getLast()返回此列表的最后一个元素
* E removeFirst() 删除并返回第一个元素
* E removeLast() 删除并返回最后一个元素
* */
public class LinkedListTest {
public static void main(String[] args){
LinkedList linkedList = new LinkedList();
linkedList.add("Tom");
linkedList.add("Jim");
linkedList.add("Mike");
System.out.println("source LinkedList:"+linkedList);
// //1.addFirst(E e)
// linkedList.addFirst("tom");
// System.out.println("After addFirst LinkedList:"+linkedList);
//2.addLast(E e)
// linkedList.addLast("tom");
// System.out.println("After addLast LinkedList:"+linkedList);
//3. E getFirst()返回此列表的第一个元素
// System.out.println("FirstElement:"+linkedList.getFirst());
//4. E getLast()返回此列表的最后一个元素
// System.out.println("LastElement:"+linkedList.getLast());
//5. E removeFirst() 删除并返回第一个元素
System.out.println("RemoveLastElement:"+linkedList.removeLast());
//6. E removeLast() 删除并返回最后一个元素
System.out.println("RemoveLastElement:"+linkedList.removeLast());
System.out.println(linkedList);
}
}