## **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();
}
}
~~~