最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java Collections集合繼承結(jié)構(gòu)圖_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

 更新時(shí)間:2017年04月28日 09:41:37   投稿:mrr  
這篇文章主要介紹了Java Collections集合繼承結(jié)構(gòu)圖_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理,需要的朋友可以參考下

面向?qū)ο笳Z言對事物的體現(xiàn)都是以對象的形式,所以為了方便對多個(gè)對象的操作,就對對象進(jìn)行存儲,集合就是存儲對象最常用的一種方式。

數(shù)組雖然也可以存儲對象,但長度是固定的;集合長度是可變的,數(shù)組中可以存儲基本數(shù)據(jù)類型,集合只能存儲對象。
集合類的特點(diǎn):集合只用于存儲對象,集合長度是可變的,集合可以存儲不同類型的對象。 

集合框架圖  

Collection (集合的最大接口)繼承關(guān)系

  ——List 可以存放重復(fù)的內(nèi)容
  ——Set  不能存放重復(fù)的內(nèi)容,所以的重復(fù)內(nèi)容靠hashCode()和equals()兩個(gè)方法區(qū)分
  ——Queue  隊(duì)列接口
  ——SortedSet  可以對集合中的數(shù)據(jù)進(jìn)行排序

Collection定義了集合框架的共性功能。

1,添加

add(e);
addAll(collection);

2,刪除

remove(e);
removeAll(collection);
clear();

3,判斷。

contains(e);
isEmpty();

4,獲取

iterator();
size();

5,獲取交集。

retainAll();

6,集合變數(shù)組。

toArray();

*add方法的參數(shù)類型是Object。以便于接收任意類型對象。
*集合中存儲的都是對象的引用(地址)

List的常用子類

List:

特有方法。凡是可以操作角標(biāo)的方法都是該體系特有的方法。


add(index,element);
addAll(index,Collection);


remove(index);


set(index,element);


get(index):
subList(from,to);
listIterator();
int indexOf(obj):獲取指定元素的位置。
ListIterator listIterator();
——ArrayList   線程不安全,查詢速度快
——Vector  線程安全,但速度慢,已被ArrayList替代
——LinkedList  鏈表結(jié)果,增刪速度快

Set接口

Set:元素是無序(存入和取出的順序不一定一致),元素不可以重復(fù)。

|——HashSet:底層數(shù)據(jù)結(jié)構(gòu)是哈希表。是線程不安全的。不同步。

  HashSet是如何保證元素唯一性的呢?

  是通過元素的兩個(gè)方法,hashCode和equals來完成。

  如果元素的HashCode值相同,才會判斷equals是否為true。

  如果元素的hashcode值不同,不會調(diào)用equals。

  注意,對于判斷元素是否存在,以及刪除等操作,依賴的方法是元素的hashcode和equals方法。

——TreeSet:

有序的存放:TreeSet  線程不安全,可以對Set集合中的元素進(jìn)行排序

通過compareTo或者compare方法來保證元素的唯一性,元素以二叉樹的形式存放。

集合的輸出

4種常見的輸出方式

  ——Iterator: 迭代輸出,使用最多的輸出方式
  ——ListIterator: Iterator的子接口,專門用于輸出List中的內(nèi)容
  ——Enumeration
  ——foreach

在迭代時(shí),不可以通過集合對象的方法操作集合中的元素。

因?yàn)闀l(fā)生ConcurrentModificationException異常。

所以,在迭代器時(shí),只能用迭代器的放過操作元素,可是Iterator方法是有限的,

只能對元素進(jìn)行判斷,取出,刪除的操作,

如果想要其他的操作如添加,修改等,就需要使用其子接口,ListIterator。

該接口只能通過List集合的listIterator方法獲取。

Map接口

Correction、Set、List接口都屬于單值的操作,而Map中的每個(gè)元素都使用key——>value的形式存儲在集合中。

Map集合:該集合存儲鍵值對。一對一對往里存。而且要保證鍵的唯一性。

1,添加。

put(K key, V value)
putAll(Map<? extends K,? extends V> m)

2,刪除。

clear()
remove(Object key)

3,判斷。

containsValue(Object value)
containsKey(Object key)
isEmpty()

4,獲取。

get(Object key)
size()
values()
entrySet()
keySet()

8、Map接口的常用子類

Map

|HashMap:底層是哈希表數(shù)據(jù)結(jié)構(gòu),允許使用 null 值和 null 鍵,該集合是不同步的。將hashtable替代,jdk1.2.效率高。

|--TreeMap:底層是二叉樹數(shù)據(jù)結(jié)構(gòu)。線程不同步??梢杂糜诮omap集合中的鍵進(jìn)行排序。

集合工具類

Collections:集合框架的工具類。里面定義的都是靜態(tài)方法。

Collections和Collection有什么區(qū)別?

Collection是集合框架中的一個(gè)頂層接口,它里面定義了單列集合的共性方法。

它有兩個(gè)常用的子接口,

List:對元素都有定義索引。有序的??梢灾貜?fù)元素。

Set:不可以重復(fù)元素。無序。

Collections是集合框架中的一個(gè)工具類。該類中的方法都是靜態(tài)的

提供的方法中有可以對list集合進(jìn)行排序,二分查找等方法。

通常常用的集合都是線程不安全的。因?yàn)橐岣咝省?/p>

如果多線程操作這些集合時(shí),可以通過該工具類中的同步方法,將線程不安全的集合,轉(zhuǎn)換成安全的。

以上所述是小編給大家介紹的Java Collections集合繼承結(jié)構(gòu)圖_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java多線程編程中的線程死鎖的問題解決

    Java多線程編程中的線程死鎖的問題解決

    線程死鎖是多線程編程中的一個(gè)常見問題,它發(fā)生在多個(gè)線程互相等待對方釋放資源的情況下,導(dǎo)致程序無法繼續(xù)執(zhí)行,本文就來介紹一下Java多線程編程中的線程死鎖的問題解決,感興趣的可以了解一下
    2023-08-08
  • Spring Boot Logback配置日志過程解析

    Spring Boot Logback配置日志過程解析

    這篇文章主要介紹了Spring Boot Logback配置日志過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • spring-boot-plus V1.4.0發(fā)布 集成用戶角色權(quán)限部門管理(推薦)

    spring-boot-plus V1.4.0發(fā)布 集成用戶角色權(quán)限部門管理(推薦)

    這篇文章主要介紹了spring-boot-plus V1.4.0發(fā)布 集成用戶角色權(quán)限部門管理,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值需要的朋友可以參考下
    2019-11-11
  • 帶你了解Java數(shù)據(jù)結(jié)構(gòu)和算法之前綴,中綴和后綴表達(dá)式

    帶你了解Java數(shù)據(jù)結(jié)構(gòu)和算法之前綴,中綴和后綴表達(dá)式

    這篇文章主要為大家介紹了Java的前綴,中綴和后綴表達(dá)式 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • mybatis的insert語句插入數(shù)據(jù)時(shí)的返回值的實(shí)現(xiàn)

    mybatis的insert語句插入數(shù)據(jù)時(shí)的返回值的實(shí)現(xiàn)

    這篇文章主要介紹了mybatis的insert語句插入數(shù)據(jù)時(shí)的返回值的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Intellij 下 mybatis 插件 MyBatisCodeHelperPro破解步驟詳解

    Intellij 下 mybatis 插件 MyBatisCodeHelperPro破解步驟詳解

    這篇文章主要介紹了Intellij 下 mybatis 插件 MyBatisCodeHelperPro破解步驟,本文分步驟給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 淺談servlet3異步原理與實(shí)踐

    淺談servlet3異步原理與實(shí)踐

    本篇文章主要介紹了servlet3異步原理與實(shí)踐,詳細(xì)的介紹了servlet和異步的流程使用,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-10-10
  • JAVA 筆記 ClassLoader.getResourceAsStream() 與 Class.getResourceAsStream()的區(qū)別

    JAVA 筆記 ClassLoader.getResourceAsStream() 與 Class.getResourc

    這篇文章主要介紹了JAVA 筆記 ClassLoader.getResourceAsStream() 與 Class.getResourceAsStream()的區(qū)別,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • Java調(diào)用DeepSeek?API的最佳實(shí)踐及詳細(xì)代碼示例

    Java調(diào)用DeepSeek?API的最佳實(shí)踐及詳細(xì)代碼示例

    這篇文章主要介紹了如何使用Java調(diào)用DeepSeek?API,包括獲取API密鑰、添加HTTP客戶端依賴、創(chuàng)建HTTP請求、處理響應(yīng)、錯(cuò)誤處理、測試和部署,文章還提供了代碼示例和注意事項(xiàng),幫助開發(fā)者順利完成API調(diào)用,需要的朋友可以參考下
    2025-02-02
  • SpringBoot注解梳理(小結(jié))

    SpringBoot注解梳理(小結(jié))

    這篇文章主要介紹了SpringBoot注解梳理(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評論

瑞昌市| 秦皇岛市| 连江县| 云和县| 犍为县| 应用必备| 长垣县| 桐梓县| 葵青区| 阳城县| 永春县| 禹州市| 竹山县| 新化县| 宣汉县| 普宁市| 常德市| 佛山市| 西峡县| 巫山县| 汶上县| 宁海县| 乌拉特前旗| 卫辉市| 凌源市| 吉木乃县| 泽普县| 文昌市| 安丘市| 锦州市| 武清区| 青神县| 惠安县| 轮台县| 封丘县| 竹北市| 河源市| 江阴市| 思茅市| 常州市| 息烽县|