1. 程式人生 > >List集合構造方法以及主要方法

List集合構造方法以及主要方法

package list;

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

/**
 * List集合的子類特點
    ArrayList:
        構造方法:
            ArrayList() 
                構造一個初始容量為 10 的空列表。 
                //private static final int DEFAULT_CAPACITY = 10;
            ArrayList(Collection<? extends E> c) 
                構造一個包含指定 collection 的元素的列表,
                這些元素是按照該 collection 的迭代器返回它們的順序排列的。 
            ArrayList(int initialCapacity) 
                構造一個具有指定初始容量的空列表。 

    Vector:
    LinkedList:
 * @author
wjddn * */
public class ListDemo03 { public static void main(String[] args) { ArrayList<Object> arrayList = new ArrayList<>(); arrayList.add("a"); arrayList.add("b"); arrayList.add("c"); arrayList.add("c"); System.out.println(arrayList); System.out.println("**************************************"
); ArrayList<Object> arrayList2 = new ArrayList<>(arrayList); System.out.println(arrayList2); System.out.println("**************************************"); ArrayList<Object> arrayList3 = new ArrayList<>(20); /** * LinkedList() 構造一個空列表。 LinkedList(Collection<? extends E> c) 構造一個包含指定 collection 中的元素的列表,這些元素按其 collection 的迭代器返回的順序排列。 */
//常用方法 LinkedList<Object> linkedList = new LinkedList<>(); linkedList.add("張三"); linkedList.add("李四"); linkedList.add("王五"); linkedList.add("王五"); //元素可重複 System.out.println("是否存在張三這個元素: "+linkedList.contains("張三")); System.out.println("***************"); //迭代 Iterator<Object> iterator = linkedList.iterator(); while(iterator.hasNext()){ Object obj = iterator.next(); System.out.println(obj); } //返回此列表中首次出現的指定元素的索引,如果此列表中不包含該元素,則返回 -1。 System.out.println("首次出現:"+linkedList.indexOf("李四")); //返回此列表中最後出現的指定元素的索引,如果此列表中不包含該元素,則返回 -1 System.out.println("最後一次出現: "+linkedList.lastIndexOf("王五")); /** * Vector() 構造一個空向量,使其內部資料陣列的大小為 10,其標準容量增量為零。 public Vector() { this(10); } Vector(Collection<? extends E> c) 構造一個包含指定 collection 中的元素的向量, 這些元素按其 collection 的迭代器返回元素的順序排列。 Vector(int initialCapacity) 使用指定的初始容量和等於零的容量增量構造一個空向量。 Vector(int initialCapacity, int capacityIncrement) 使用指定的初始容量和容量增量構造一個空的向量。 */ Vector<Object> vector = new Vector<>(); System.out.println("初始化容量: "+vector.capacity()); } /** * ArrayList 、 LinkedList 、 Vector的區別: * ArrayList、Vector的底層實現是陣列,初始化大小都是10 LinkedList底層實現是連結串列 * ArrayList、Vector 增刪快,查詢慢 LinkedList增刪慢 查詢快 * Vector是執行緒安全的、ArrayList、linkedList是執行緒不安全的 * ArrayList自動擴容為50%,Vector擴容量為原來的100% */ }