import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class ListTest01 {
	/*
	 *List集合存储元素特点:
	  1.有序(List集合中存储有下标):存进去是这样的顺序,取出来还是按照这个顺序取出。
	  2.可重复
	 */
	public static void main(String[] args) {
		//创建一个List集合.
		List l = new ArrayList();
		
		//添加
		l.add(100);
		l.add(99);
		l.add(23);
		l.add(250);
		l.add(250);
		//遍历
		Iterator it = l.iterator();
		while(it.hasNext()){
			System.out.println(it.next());
		}
			
			
/*
 * ArrayList集合底层是数组。数组是有下标的.
所以ArrayList集合有很多自己的特性.
ArrayList集合底层默认初始化容量是 10. 扩大之后的容量是原容量的1.5倍.
Vector集合底层默认初始化容量也是10.扩大之后的容量是原容量的2倍.
如果优化ArrayList和Vector?
尽量减少扩容操作,因为扩容需要数组拷贝。数组拷贝很耗内存。
一般推荐在创建集合的时候指定初始化容量。
*/
		//创建List集合
		//List l = new ArrayList();
		List l1 = new LinkedList();
			
		//添加元素
		l1.add(123);
		l1.add(321);
		l1.add(69);
			
		//在下标为1的位置上添加555
		l1.add(1,555);
			
	   //取得第一个元素
		System.out.println(l1.get(0));
			
		System.out.println("===========================");
			
		//遍历(List集合特有的遍历方式)
		for(int i=0;i<l1.size();i++){
			Object element = l1.get(i);
			System.out.println(element);
		}	//迭代器也可以	
	}

}