千鋒教育Java入門全套視頻教程(java核心技術(shù),適合java零基礎(chǔ),Java

Collection集合概述圖:

- Collection集合特點(diǎn)
- List系列集合:添加的元素是
有序、可重復(fù)、有索引。
- ArrayList、LinekdList :
有序、可重復(fù)、有索引。
- Set系列集合:添加的元素是
無序、不重復(fù)、無索引。
- HashSet:
無序、不重復(fù)、無索引。
- LinkedHashSet:
有序、不重復(fù)、無索引。
- TreeSet:按照大小
默認(rèn)升序排序、不重復(fù)、無索引。
- 泛型:集合都是泛型的形式,可以在編譯階段約束集合只能操作某種數(shù)據(jù)類型
Collection<String> lists = new ArrayList<String>(); Collection<String> lists = new ArrayList<>(); // JDK 1.7開始后面的泛型類型申明
注意:集合和泛型都只能支持引用數(shù)據(jù)類型,不支持基本數(shù)據(jù)類型,所以集合中存儲(chǔ)的元素都認(rèn)為是對(duì)象。
Collection集合的遍歷方式
方式一:迭代器
- 迭代器遍歷概述
- 遍歷就是一個(gè)一個(gè)的把容器中的元素訪問一遍。
- 迭代器在Java中的代表是Iterator,迭代器是集合的專用的遍歷方式。
- Collection集合獲取迭代器
- 方法名稱說明Iterator<E> iterator()返回集合中的迭代器對(duì)象,該迭代器對(duì)象默認(rèn)指向當(dāng)前集合的0索引
- Iterator中的常用方法
- 方法名稱說明boolean hasNext()詢問當(dāng)前位置是否有元素存在,存在返回true ,不存在返回falseE next()獲取當(dāng)前位置的元素,并同時(shí)將迭代器對(duì)象移向下一個(gè)位置,注意防止取出越界。
迭代器執(zhí)行原理:

方式二:foreach/增強(qiáng)for循環(huán)
- 增強(qiáng)for循環(huán)
for(元素?cái)?shù)據(jù)類型 變量名 : 數(shù)組或者Collection集合名稱) { ??//在此處使用變量即可,該變量就是元素 }
增強(qiáng)for循環(huán):既可以遍歷集合也可以遍歷數(shù)組。
增強(qiáng)for循環(huán)修改變量:修改第三方變量的值不會(huì)影響到集合中的元素
方式三:lambda表達(dá)式
- 得益于JDK 8開始的新技術(shù)Lambda表達(dá)式,提供了一種更簡單、更直接的遍歷集合的方式。
Collection結(jié)合Lambda遍歷的API

List
- List系列集合特點(diǎn)
- ArrayList、LinekdList :
有序,可重復(fù),有索引。
- 有序:存儲(chǔ)和取出的元素順序一致
- 有索引:可以通過索引操作元素
- 可重復(fù):存儲(chǔ)的元素可以重復(fù)
ArrayList集合特有方法

注意:List集合因?yàn)橹С炙饕远嗔撕芏嗨饕僮鞯莫?dú)特API,其他Collection的功能List也都繼承了。
LinkedList集合
- 底層數(shù)據(jù)結(jié)構(gòu)是雙向鏈表,查詢慢,首尾操作的速度是極快的,所以多了很多首尾操作的特有API。
- LinkedList集合的特有方法

LinkedList底層實(shí)現(xiàn)原理

標(biāo)簽: