Java中Collection接口使用方法

Java中Collection接口使用方法

長沙中公優(yōu)就業(yè)      2022-03-26 05:30:01     7

Java中Collection接口使用方法,Collection接口是List、Set、Queue接口的父接口Collection接口定義了可用于操作List、Set和Queue的方法--增刪改查List接口及其實(shí)

課程價(jià)格 請咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹

Collection接口是List、Set、Queue接口的父接口

Collection接口定義了可用于操作List、Set和Queue的方法--增刪改查

List接口及其實(shí)現(xiàn)類--ArrayList

List是元素有序并且可以重復(fù)的集合,被稱為序列。

List可以精確的控制每個(gè)元素的插入位置,或刪除某個(gè)位置元素

List有add()插入方法和get()獲取方法

ArrayList--數(shù)組序列,是List的一個(gè)重要實(shí)現(xiàn)類

ArrayList底層是由數(shù)組實(shí)現(xiàn)的,這也是其名字的由來

List接口

List中的元素是有序的且可以重復(fù)

添加:ArrayList.add(對(duì)象),默認(rèn)添加在List的最后,可以在指定位置添加ArrayList.add(索引位置,對(duì)象),可以用get()方法取出來

ArrayList.addAll(Arrays.asList(數(shù)組對(duì)象))方法可以一次添加多個(gè)對(duì)象,Arrays.asList()就是將數(shù)組轉(zhuǎn)化為一個(gè)List對(duì)象

ArrayList.get(int index)一定要注意,a使用dd()或者是addAll()方法插入的元素一律會(huì)變成Object類型,那么使用get()方法取出時(shí)也將是Object類型的,這是接受取出的元素時(shí),要做相應(yīng)的類型強(qiáng)轉(zhuǎn)。

類型對(duì)象=(類型)ArrayList.get(索引位置);//對(duì)象存入集合都變成object類型,取出時(shí)需要進(jìn)行類型轉(zhuǎn)換

刪除:ArrayList.remove(對(duì)象或者對(duì)象在List中的索引位置)

修改:ArrayList.set(索引位置,修改內(nèi)容)

通過ArrayList.size()方法可以得到List長度

可以通過foreach(元素類型元素變量:遍歷對(duì)象名(即數(shù)組名))方法,get方法,迭代器iterator方法遍歷List

foreach方法中,元素類型固定為Object,因?yàn)榉诺郊现袝r(shí),元素的類型被忽略了

iterator方法中,用hasNext()方法來確定是否List還有元素,有則返回true。迭代器不存儲(chǔ)東西,依賴其他結(jié)構(gòu)存在

Java泛型

在開發(fā)中,可以創(chuàng)建一個(gè)泛型來規(guī)定對(duì)象的類型。在集合中,不能添加泛型規(guī)定類型意外的對(duì)象。

泛型中除了可以添加規(guī)定的類型還可以添加規(guī)定類型的子類型。

定義子類型的時(shí)候要在父類型中添加一個(gè)無參的構(gòu)造方法,否則出錯(cuò),因?yàn)檎{(diào)用子類型的構(gòu)造方法時(shí),系統(tǒng)會(huì)默認(rèn)調(diào)用父類的無參構(gòu)造方法(super();)。

泛型集合中不能使用基本數(shù)據(jù)類型,要使用基本數(shù)據(jù)類型的包裝類,即Integer,Long,Boolean?;蛘邽橐妙愋蚅istcourse

Set接口

Collection接口-Set接口-實(shí)現(xiàn)類HashSet

一、Set是元素【無序且不可重復(fù)】的集合,被稱作集

二、HashSet——哈希集,是Set的重要實(shí)現(xiàn)類

注意:與List比較

·Set的遍歷只能用foreach和iterator,不能用get()方法(因?yàn)槭菬o序表),同理,也沒有set()方法

·Set中重復(fù)添加一個(gè)對(duì)象,只會(huì)保留一個(gè),并且保留的是第一次的添加的那一個(gè)。

Set中可以添加空對(duì)象,但是一般開發(fā)中不這么用。

List和Set都可以用contains()方法判斷是否包含某元素,

contains()方法的實(shí)現(xiàn)原理:當(dāng)調(diào)用List中contains()方法時(shí),相當(dāng)于遍歷list中的每一個(gè)元素,然后再調(diào)用每個(gè)元素的equals()方法,去跟contains()中的對(duì)象比較,如果有一個(gè)元素的equals()方法返回一個(gè)true值,那么contains()方法就返回一個(gè)true值;否則返回一個(gè)false值。所以contains()方法的本意是是否存在某個(gè)對(duì)象的引用,如果判斷是否存在某個(gè)內(nèi)容,就要重寫equals()方法。

其中HashSet Contains()方法是先調(diào)用hashCode()方法,在調(diào)用equals()方法

以上就是長沙中公優(yōu)就業(yè)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java中Collection接口使用方法”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

培訓(xùn)啦提醒您:交易時(shí)請核實(shí)對(duì)方資質(zhì),對(duì)于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。