欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jdk源碼閱讀Collection詳解

 更新時間:2017年12月29日 11:28:30   作者:nomico271  
這篇文章主要介紹了jdk源碼閱讀Collection詳解,具有一定借鑒價值,需要的朋友可以參考下

見過一句夸張的話,叫做“沒有閱讀過jdk源碼的人不算學(xué)過java”。從今天起開始精讀源碼。而適合精讀的源碼無非就是java.io,.util和.lang包下的類。

面試題中對于集合的考察還是比較多的,所以我就先從集合的源碼開始看起。

(一)首先是Collection接口。

Collection是所有collection類的根接口;Collection繼承了Iterable,即所有的Collection中的類都能使用foreach方法。

/** 
 * Collection是所有collection類的根接口; 
 * Collection繼承了Iterable,即所有的Collection中的類都能使用foreach方法。 
 * @author WGS 
 * @param <E> 
 */
public interface Collection<E> extends Iterable<E> {
	//返回集合中元素的大小。(如果此大小值超過Integer.MAX_VALUE,就直接返回Integer.MAX_VALUE) 
	int size();
	//判斷集合是否為空 
	Boolean isEmpty();
	//判斷集合是否包含元素o(注意元素e是否為null及類型是否兼容問題) 
	Boolean contains(Object o);
	//返回集合中元素的迭代器(順序不能保證,除非集合指定了順序) 
	Iterator<E> iterator();
	//以數(shù)組的形式返回集合中的所有元素,數(shù)組是安全 
	Object[] toArray();
	//以數(shù)組形式返回指定數(shù)組類型的集合元素 
	<T> T[] toArray(T[] a);
	//此方法可用來判斷集合中是否含有元素e;是-false,否-true(在set,map中會經(jīng)常調(diào)用這個方法,在編程題時很有用) 
	Boolean add(E e);
	//從集合中移除指定的元素 
	Boolean remove(Object o);
	//用來判斷是否含有指定集合中的所以元素 
	Boolean containsAll(Collection<?> c);
	//將指定集合中的所有元素添加至調(diào)用者的集合中 
	Boolean addAll(Collection<? extends E> c);
	//移除與指定集合相同的元素(即移除兩集合交集部分) 
	Boolean removeAll(Collection<?> c);
	//保留與指定集合中相同的元素(即移除與指定集合不同的元素) 
	Boolean retainAll(Collection<?> c);
	//清空集合 
	void clear();
	//判斷與指定元素是否相等 
	Boolean equals(Object o);
	//返回集合的哈希碼值 
	int hashCode();
}

總結(jié)

以上就是本文關(guān)于jdk源碼閱讀Collection詳解的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • Java異常處理中的各種細節(jié)匯總

    Java異常處理中的各種細節(jié)匯總

    這篇文章主要給大家介紹了關(guān)于Java異常處理中的各種細節(jié)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 解決在Idea 2020.2下使用 Lombok的注解不生效的問題(插件安裝了,依賴也寫了,自動注解也設(shè)置了)

    解決在Idea 2020.2下使用 Lombok的注解不生效的問題(插件安裝了,依賴也寫了,自動注解也設(shè)置了)

    這篇文章主要介紹了在Idea 2020.2下使用 Lombok的注解不生效的問題(插件安裝了,依賴也寫了,自動注解也設(shè)置了),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • JAVA位運算的知識點總結(jié)

    JAVA位運算的知識點總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于JAVA有關(guān)位運算的全套梳理,需要的朋友們可以參考學(xué)習(xí)下。
    2020-03-03
  • Java中JDK14的新特性之JFR,JMC和JFR事件流(推薦)

    Java中JDK14的新特性之JFR,JMC和JFR事件流(推薦)

    JFR是一個基于事件的低開銷的分析引擎,具有高性能的后端,可以以二進制格式編寫事件,而JMC是一個GUI工具,用于檢查JFR創(chuàng)建的數(shù)據(jù)文件。本文給大家介紹Java中JDK14的新特性之JFR,JMC和JFR事件流的相關(guān)知識,感興趣的朋友一起看看吧
    2020-05-05
  • mybatis中幾種typeHandler的定義使用詳解

    mybatis中幾種typeHandler的定義使用詳解

    本文主要介紹了mybatis中幾種typeHandler的定義使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • mybatis報錯元素內(nèi)容必須由格式正確的字符數(shù)據(jù)或標記組成異常的解決辦法

    mybatis報錯元素內(nèi)容必須由格式正確的字符數(shù)據(jù)或標記組成異常的解決辦法

    今天小編就為大家分享一篇關(guān)于mybatis查詢出錯解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • SpringBoot中的@EnableConfigurationProperties注解詳細解析

    SpringBoot中的@EnableConfigurationProperties注解詳細解析

    這篇文章主要介紹了SpringBoot中的@EnableConfigurationProperties注解詳細解析,如果一個配置類只配置@ConfigurationProperties注解,而沒有使用@Component或者實現(xiàn)了@Component的其他注解,那么在IOC容器中是獲取不到properties 配置文件轉(zhuǎn)化的bean,需要的朋友可以參考下
    2024-01-01
  • @feignclient名字沖突的解決方案

    @feignclient名字沖突的解決方案

    這篇文章主要介紹了@feignclient名字沖突的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 詳解Spring集成Redis的兩種方式

    詳解Spring集成Redis的兩種方式

    在工作中,我們用到分布式緩存的時候,第一選擇就是Redis,今天介紹一下SpringBoot如何集成Redis的,具有一定的參考價值,感興趣的可以了解一下
    2021-09-09
  • Java線程安全和鎖Synchronized知識點詳解

    Java線程安全和鎖Synchronized知識點詳解

    在本篇文章里小編給大家分享的是關(guān)于Java線程安全和鎖Synchronized相關(guān)知識點,有需要的朋友們可以參考下。
    2019-08-08

最新評論