list、set和collection是繼承關係,collection介面中的方法在list、set方法中都可以繼承使用,同時list、set介面還有屬於自己的特有方法。list介面通過arraylist類實現,set介面通過hashset類實現。初始化乙個list集合:list介面特點:
(1)有序儲存(按什麼順序存就按什麼順序取);
(2)有索引,索引數和陣列的索引一致從0開始,list的特有方法都是圍繞它這個特點的;
(3)可以儲存重複元素;
//例項化乙個list集合
listlist = new arraylist<>();
list.add("阿大");
list.add("阿二");
list.add("阿三");
system.out.println(list);
//輸出:
[阿大, 阿二, 阿三]
list常用方法(特有方法):將元素新增到指定索引的位置void add(int index, e element);
//在索引數是2的位置插入元素
list.add(2,"我插隊");
system.out.println(list);
//輸出:[阿大, 阿二, 我插隊, 阿三]
獲取指定索引處的元素 e get(int index);
//獲取元素索引是1的元素
string value = list.get(1);
system.out.println(value);
//輸出:阿二
刪除指定索引處的元素,並返回被刪除的元素 e remove(int index);
//刪除指定索引處的元素,並返回被刪除的元素;
string value = list.remove(2);
system.out.println(value);
system.out.println(list);
//輸出: 我插隊
[阿大, 阿二, 阿三]
//也可以不用接收,輸出集合
list.remove(1);
system.out.println(list);
//輸出:[阿大, 阿三]
修改指定索引處的元素,並返回被修改的元素 e set(int index, e element);
//修改下標0的元素
list.set(0,"我改名了");
system.out.println(list);
//[我改名了, 阿二, 阿三]
list集合的遍歷:
方法一:迭代器遍歷
方法二:for迴圈,使用
方法三:增強for迴圈
三者方法示例:
//例項化乙個list集合
listlist = new arraylist<>();
list.add("阿大");
list.add("阿二");
list.add("阿三");
//方法一迭代器迴圈
iteratoriterator = list.iterator();
while (iterator.hasnext())
system.out.println();
//方法二for迴圈
for (int i = 0; i < list.size(); i++)
system.out.println();
//方法三增強for迴圈,注意增強for底層使用的是迭代器,
//在迴圈遍歷的同時不能去新增和刪除元素,
//否則會出現異常:concurrentmodificationexception
for (string s : list)
set介面特點:初始化乙個set集合:(1)無序儲存
(2)沒有下標索引
(3)不能儲存重複元素
set的儲存方法和list集合一樣,遍歷方法則只能使用迭代器和增強for這兩種。
setset = new hashset<>();
set.add("紅");
set.add("黃");
set.add("藍");
for (string s : set)
//遍歷結果是無序儲存,列印結果是:藍 紅 黃
Collection單列集合 知識點
collectoin單列集合 collection方法 boolean add object e 把給定的物件新增到當前集合中 void clear 清空集合中所有的元素 boolean remove object o 把給定的物件在當前集合中刪除 boolean contains object o...
Collection 單列集合的頂層介面
collection 單列集合的頂層介面 list 有序 有索引 元素可重複 arraylist 底層資料結構是陣列 查詢快 增刪慢 執行緒不安全 效率高 linkedlist 底層資料結構是鍊錶 查詢慢 增刪快 執行緒不安全 效率高 vector 底層資料結構是陣列 查詢快 增刪慢 執行緒安全 效...
集合 Collection集合總結
list有序,可重複 abstractlist 父類abstractcollection抽象類,實現了list介面 arraylist 父類abstractlist 底層資料結構是陣列,查詢快,增刪慢。執行緒不安全,不同步,效率高 vector 父類abstractlist 底層資料結構是陣列,查詢...