天天看點

List集合的實作

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

張三

王五

張三

目前集合元素為:

李四

王五

王五

目前集合元素為:

李四

繼續閱讀