1. 程式人生 > 實用技巧 >第十二章、集合

第十二章、集合

集合

用於儲存一種或者多種引用資料型別,並且長度可變的容器。
 
 
集合的外延有:List集合、Set集合、Queue集合

List集合

是用於有序儲存可重複元素的集合。
 
List介面繼承了Collection介面,宣告有序儲存物件(可重複)功能的公共介面。
 
List集合的實現類有:ArrayList、Vector、LinkedList
 
集合中只能儲存引用資料型別,不能儲存基本資料型別
 
 
List集合常用方法:
    add(E e) - 向列表末尾追加元素
    add(int index,E e) - 在指定位置上新增一個物件
    addAll(Collection<? extends E> c)  - 將集合元素新增到指定集合的末尾
    get(int index)   返回指定位置的物件
    remove(int index)  刪除指定位置的物件
    set(int index, E element)  - 用指定元素替換列表中指定位置的元素(可選操作)。
    indexOf(Object o)  - 返回第一個匹配物件的位置
    lastIndexOf(Object o)  - 返回最後一個匹配物件的索引
    size()   -  返回此列表中的元素數。

ArrayList類

基於陣列實現的,長度可變的、分配連續內容空間的List集合

迭代器遍歷

迭代器(Iterator)
    迭代器是一種使用迭代法遍歷集合的物件
 
Iterable集合是java集合框架的頂級集合
 
 
Iterator介面中常用的方法:
    hasNext()   -   判斷是否還有其他元素
    next()      -   獲取下一個元素
    remove()    -   刪除最後一次呼叫next方法返回的元素

迭代器遍歷步驟

1. 呼叫Iterator()得到一個指向集合序列第一個元素的迭代器
2. 用迴圈呼叫hasNext()方法,如果有元素,返回true
3. 在迴圈中,使用next()方法獲取集合中的下一個元素

增強for

語法格式:
     for(元素型別   e:陣列名/Iterable例項){
    }
 
 
增強for和普通for有什麼區別?
    增強for的內部也就是呼叫iterator實現的,但是增強for迴圈有一小點缺陷,比如說不能再
    增強for迴圈中動態的刪除集合內容,不能獲取下標等。