更新時間:2020-08-05 15:52:16 來源:動力節(jié)點 瀏覽2882次
Collection接口是List、Set、Queue接口的父接口
Collection接口定義了可用于操作List、Set和Queue的方法--增刪改查
List接口及其實現(xiàn)類--ArrayList
List是元素有序并且可以重復(fù)的集合,被稱為序列。
List可以精確的控制每個元素的插入位置,或刪除某個位置元素
List有add()插入方法和get()獲取方法
ArrayList--數(shù)組序列,是List的一個重要實現(xiàn)類
ArrayList底層是由數(shù)組實現(xiàn)的,這也是其名字的由來
List中的元素是有序的且可以重復(fù)
添加:ArrayList.add(對象),默認添加在List的最后,可以在指定位置添加ArrayList.add(索引位置,對象),可以用get()方法取出來
ArrayList.addAll(Arrays.asList(數(shù)組對象))方法可以一次添加多個對象,Arrays.asList()就是將數(shù)組轉(zhuǎn)化為一個List對象
ArrayList.get(int index)一定要注意,a使用dd()或者是addAll()方法插入的元素一律會變成Object類型,那么使用get()方法取出時也將是Object類型的,這是接受取出的元素時,要做相應(yīng)的類型強轉(zhuǎn)。
類型對象=(類型)ArrayList.get(索引位置);//對象存入集合都變成object類型,取出時需要進行類型轉(zhuǎn)換
刪除:ArrayList.remove(對象或者對象在List中的索引位置)
修改:ArrayList.set(索引位置,修改內(nèi)容)
通過ArrayList.size()方法可以得到List長度
可以通過foreach(元素類型元素變量:遍歷對象名(即數(shù)組名))方法,get方法,迭代器iterator方法遍歷List
foreach方法中,元素類型固定為Object,因為放到集合中時,元素的類型被忽略了
iterator方法中,用hasNext()方法來確定是否List還有元素,有則返回true。迭代器不存儲東西,依賴其他結(jié)構(gòu)存在
在開發(fā)中,可以創(chuàng)建一個泛型來規(guī)定對象的類型。在集合中,不能添加泛型規(guī)定類型意外的對象。
泛型中除了可以添加規(guī)定的類型還可以添加規(guī)定類型的子類型。
定義子類型的時候要在父類型中添加一個無參的構(gòu)造方法,否則出錯,因為調(diào)用子類型的構(gòu)造方法時,系統(tǒng)會默認調(diào)用父類的無參構(gòu)造方法(super();)。
泛型集合中不能使用基本數(shù)據(jù)類型,要使用基本數(shù)據(jù)類型的包裝類,即Integer,Long,Boolean。或者為引用類型List
Set接口
Collection接口-Set接口-實現(xiàn)類HashSet
一、Set是元素【無序且不可重復(fù)】的集合,被稱作集
二、HashSet——哈希集,是Set的重要實現(xiàn)類
注意:與List比較
·Set的遍歷只能用foreach和iterator,不能用get()方法(因為是無序表),同理,也沒有set()方法
·Set中重復(fù)添加一個對象,只會保留一個,并且保留的是第一次的添加的那一個。
Set中可以添加空對象,但是一般開發(fā)中不這么用。
List和Set都可以用contains()方法判斷是否包含某元素,
contains()方法的實現(xiàn)原理:當(dāng)調(diào)用List中contains()方法時,相當(dāng)于遍歷list中的每一個元素,然后再調(diào)用每個元素的equals()方法,去跟contains()中的對象比較,如果有一個元素的equals()方法返回一個true值,那么contains()方法就返回一個true值;否則返回一個false值。所以contains()方法的本意是是否存在某個對象的引用,如果判斷是否存在某個內(nèi)容,就要重寫equals()方法。
其中HashSet Contains()方法是先調(diào)用hashCode()方法,在調(diào)用equals()方法
以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“Java中Collection接口使用方法”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
初級 202925
初級 203221
初級 202629
初級 203743