第十二章、集合
阿新 • • 發佈:2020-12-05
集合
用於儲存一種或者多種引用資料型別,並且長度可變的容器。
集合的外延有: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迴圈中動態的刪除集合內容,不能獲取下標等。