## **List分為ArrayList和LinkedList,其大致一樣**
~~~
import java.util.ArrayList;
import java.util.LinkedList;
public class run {
public static void main(String [] args){
ArrayList<String> arrayList = new ArrayList <>();
LinkedList<String> linkedList = new LinkedList <>();
arrayList.add("Jack");
arrayList.add("Tom");
arrayList.add("Lucy");
linkedList.add("Jack-link");
linkedList.add("Tom-link");
linkedList.add("Lucy-link");
/**
* ArrayList和LinkedList大致方法一樣,只是LinkedList比其多了兩個方法:
* linkedList.getFirst(); // 得到列表第一個元素
* linkedList.getLast(); // 得到列表最后一個元素
*
* 兩者主要區別在于ArrayList類似于Array結構,其空間中是一段,每個元素是相連的;
* 而LinkedList每個元素可能在不同的地方,其由[數據|指針(下一個元素位置)]構成
*
* 優點缺點:
* ArrayList 數據讀取快 | 增刪慢
* LinkedList 數據讀取慢 | 增刪快
*/
System.out.println(linkedList.getFirst());
System.out.println(linkedList.getLast());
System.out.println(arrayList);
System.out.println(linkedList);
/**
* 兩者相同常用方法
*/
// 獲取第index個元素
arrayList.get(0);
// 是否有某個[Jack]元素
arrayList.contains("Jack");
// 是否為空,返回值 boolean
arrayList.isEmpty();
// 刪除第index個元素
arrayList.remove(0);
// 刪除值為[Jack]的元素
arrayList.remove("Jack");
// 返回列表長度,返回值 int
arrayList.size();
// 轉換成數組
arrayList.toArray();
// 清空List
arrayList.clear();
}
}
~~~