List是Collection接口的子接口,也是最常用的接口,此接口對Collection接口進行了大量的擴充,List集合裡的元素是可以重複的
list的常用實作類有ArrayList 和 LinkList,當資料經常變化的時候用LinkedList
package com.jihe.demo01;
import java.util.ArrayList;
public class Demo02 {
/**
* 讀取list裡的元素
* @param arrayList
*/
public static void printList(ArrayList<String> arrayList){
System.out.println("目前集合元素為:");
for(int i=0;i<arrayList.size();i++)
{
System.out.println(arrayList.get(i));
}
}
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("張三");
arrayList.add("李四");
printList(arrayList);
//在一号元素前面添加張三1
arrayList.add(1,"張三1");
printList(arrayList);
//将零号元素替換成王五
arrayList.set(0, "王五");
printList(arrayList);
}
}
輸出結果:
目前集合元素為:
張三
李四
目前集合元素為:
張三
張三1
李四
目前集合元素為:
王五
張三1
李四
LinkedList:
package com.jihe.demo01;
import java.util.LinkedList;
public class Demo03 {
public static void printLinkList(LinkedList<String> linkedList){
System.out.println("目前集合元素為:");
for(int i=0;i<linkedList.size();i++)
{
System.out.println(linkedList.get(i));
}
}
public static void main(String[] args) {
LinkedList<String> linkedList=new LinkedList<String>();
linkedList.add("張三");
linkedList.add("李四");
linkedList.add("王五");
printLinkList(linkedList);
//indexof 方法擷取元素所在的位置
System.out.println(linkedList.indexOf("王五"));
//peekFirst擷取第一個元素
System.out.println(linkedList.peekFirst());
//peekFirst擷取最後一個元素
System.out.println(linkedList.peekLast());
//pollFirst 摘取第一個元素
System.out.println(linkedList.pollFirst());
printLinkList(linkedList);
//pollLast 摘取最後一個元素
System.out.println(linkedList.pollLast());
printLinkList(linkedList);
}
}
輸出結果:
目前集合元素為:
張三
李四
王五
2
張三
王五
張三
目前集合元素為:
李四
王五
王五
目前集合元素為:
李四