1. 程式人生 > >List的三個子類,泛型,增強for循環

List的三個子類,泛型,增強for循環

創建 -- system dde 接口 下一個 array 一個數 last

List的三個子類的特點
ArrayList:
底層數據結構是數組,查詢快,增刪慢。
線程不安全,效率高。
Vector:
底層數據結構是數組,查詢快,增刪慢。
線程安全,效率低。
LinkedList:
底層數據結構是鏈表,查詢慢,增刪快。
線程不安全,效率高。
List接口:
ArrayList:底層數據結構是數組,查詢快,增刪慢,線程不安全,效率高 可以存儲重復元素

int indexOf (Object o)返回此列表中指定元素的第一個出現的索引,或 - 如果此列表不包含元素,或 - 1。
void sort (Comparator < ? super E > c)分類列表使用提供的 Comparator比較元素。

List<E> subList ( int fromIndex, int toIndex)返回一個視圖之間的指定 fromIndex,包容,和 toIndex這份名單的部分,獨家。
// Object[] toArray () 返回一個數組,包含在這個列表中的所有元素在適當的順序(從第一個到最後一個元素)。
LinkedList 底層數據結構是鏈表,查詢慢,增刪快,線程不安全,效率高
LinkedList類特有功能
public void addFirst (E e)及addLast(E e)
public E getFirst () 及getLast()
public E removeFirst () 及public E removeLast()
Vector:底層數據結構是數組,查詢快,增刪慢,線程安全,效率低。
E elementAt(int index)
返回指定索引處的組件。
Enumeration<E> elements()
返回此向量的組件的枚舉。
E firstElement()
返回第一個組件(在指數 0項目)這個載體。
E lastElement()
返回向量的最後一個組件。

泛型機制:JDK1.5之後引入的一個新特性
泛型機制是一種把數據類型明確工作推遲到創建對象或調用方法時才去明確的一種機制
泛型的語法 <數據類型,數據類型> 數據類型只能寫引用數據類型
泛型只在編譯期間有效,在運行期就擦除了
泛型的好處1.把問題提前到了編譯期

  1. 避免了向下轉型
    泛型定義的位置:可以定義在接口,類,方法上面

JDK1.5之後 有一個 新式for循環
普通for循環:
for (int i=0;i<integers.size();i++){
System.out.println(integers.get(i));
}
System.out.println("---------------------------");
//Integer num 容器中的數據類型 以及元素的變量名
//integers 容器名
增強for循環:
for (Integer num: integers){
System.out.println(num);
}

Collection:
public boolean add(E e)
確保此集合包含指定的元素
public boolean addAll(Collection c)
將指定集合中的所有元素添加到這個集合
public void clear()
從這個集合中移除所有的元素
public boolean remove(Object o)
從這個集合中移除指定元素的一個實例,如果它是存在的
public boolean removeAll(Collection c)
刪除此集合中包含的所有元素(可選操作)的所有元素(可選操作)。
public boolean contains(Object o)
返回 true如果集合包含指定元素
public boolean containsAll(Collection c)
返回 true如果這個集合包含指定集合的所有元素。
public boolean isEmpty()
返回 true如果集合不包含任何元素。
public Iterator<E> iterator()
返回此集合中的元素的叠代器
public boolean retainAll(Collection<?> c)
僅保留包含在指定集合中的這個集合中的元素(可選操作)。
public int size()
返回此集合中的元素的數目。
public Object[] toArray()
返回包含此集合中所有元素的數組。
List:
public void add(int index, Object element)
將指定的項目添加到滾動列表的結束時。
public Object remove(int index)
從這個滾動列表中移除指定位置上的項目。
public Object set(int index, Object element)
去除或者修復Object方法
public Object get(int index)
返回列表中指定位置的元素。
public ListIterator listIterator()
列表叠代器(List集合特有的叠代器)
Vector
public void addElement(E obj)
添加指定的組件到這個向量的結束,增加其大小由一個
public E elementAt(int index)
返回指定索引處的組件。
public boolean removeElement(Object obj)
從該向量中移除第一個(最低索引)發生的參數。
public void removeElementAt(int index)
在指定的索引中刪除組件。
public void setElementAt(E obj, int index)
設置組件在指定的 index這個向量是指定的對象
public Enumeration<E> elements()
返回此向量的組件的枚舉。
Enumeration
public boolean hasMoreElements()
測試此枚舉是否包含更多元素。
public Object nextElement()
返回此枚舉的下一個元素,如果此枚舉對象至少有一個元素可以提供。
LinkedList
public void addFirst(E e)
在此列表的開始處插入指定的元素。
public void addLast(E e)
在此列表的結尾處插入指定的元素。
public E getFirst()
返回此列表中的第一個元素。
public E getLast()
返回此列表中的最後一個元素。
public E removeFirst()
移除並返回此列表中的第一個元素
public E removeLast()
移除並返回此列表中的最後一個元素

List的三個子類,泛型,增強for循環