1. 程式人生 > >List的實現類ArrayList等

List的實現類ArrayList等

Collection 老祖先,介面(interface)

  List 子介面
    
     ArrayList,LinkedList,Vector 實現類     

  Set 子介面

     HashSet(無序),TreeSet(有序)

ArrayList:動態陣列,表示陣列長度可變

ArrayList,LinkedList 使用方法完全一樣, 區別

 資料儲存方式不一樣,稱為不同的資料結構

 ArrayList:基於陣列實現(優點:連續存放,查詢速度比較快,缺點是增加元素或者刪除元素比較慢),
 LinkedList基於連結串列實現(缺點:不連續存放,查詢速度比較慢,優點:增加元素或刪除元素比較快)。

 Vector 向量:基於陣列實現的,但是已經過時,現在都用ArrayList。

package javastudy;

import java.util.ArrayList;
import java.util.Iterator;

public class Test {

	public static void main(String[] args) {
		ArrayList<String> al = new ArrayList<String>();
		al.add("北京");
		al.add("上海");
		al.add("天津");
		al.add(0, "重慶");
		print1(al);
		System.out.println("********************************");

		al.set(1, "Beijing");
		print1(al);

		System.out.println("********************************");
		print2(al);

		al.remove(3);
		System.out.println("********************************");
		print2(al);

	}

	static void print1(ArrayList<String> al) {
		for (int i = 0; i < al.size(); i++) {
			System.out.println(al.get(i));
		}
	}

	static void print2(ArrayList<String> al) {
		Iterator<String> it = al.iterator();// 遍歷器相當於指標
		while (it.hasNext()) {
			System.out.println(it.next());//獲取下一個元素並輸出
		}
	}

}