国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【全棧之路】JAVA基礎(chǔ)課程六_集合(20190615v1.0)

dkzwm / 1401人閱讀

摘要:歡迎進(jìn)入基礎(chǔ)課程博客地址本系列文章將主要針對一些基礎(chǔ)知識點(diǎn)進(jìn)行講解,為平時(shí)歸納所總結(jié),不管是剛接觸開發(fā)菜鳥還是業(yè)界資深人士,都希望對廣大同行帶來一些幫助。是同步的,而不是。因此,更適合于單線程環(huán)境,而適合于多線程環(huán)境。

歡迎進(jìn)入JAVA基礎(chǔ)課程

博客地址:https://blog.csdn.net/houjiyu...
本系列文章將主要針對JAVA一些基礎(chǔ)知識點(diǎn)進(jìn)行講解,為平時(shí)歸納所總結(jié),不管是剛接觸JAVA開發(fā)菜鳥還是業(yè)界資深人士,都希望對廣大同行帶來一些幫助。若有問題請及時(shí)留言或加QQ:243042162。

寄語:
再走長征路,回顧過往崢嶸歲月,重溫重要?dú)v史事件,砥礪前行,用腳步丈量新時(shí)代的長征路。工作道路上,我們也要弘揚(yáng)這種長征精神,堅(jiān)持不懈,一步一個(gè)腳印,腳踏實(shí)地,朝著自己的目標(biāo)前行。
集合 1. 集合框架圖

(1)縮略版

(2)詳細(xì)版

2.集合和數(shù)組區(qū)別

3.Collection接口

List接口:元素按進(jìn)入先后有序保存,可重復(fù)

(1)LinkedList:底層數(shù)據(jù)結(jié)構(gòu)是鏈表,查詢慢,增刪快,線程不安全,效率高,可以存儲(chǔ)重復(fù)元素
(2) ArrayList:底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組,查詢快,增刪慢,線程不安全,效率高,可以存儲(chǔ)重復(fù)元素
(3) Vector:底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組,查詢快,增刪慢,線程安全,效率低,可以存儲(chǔ)重復(fù)元素

Set 接口: 僅接收一次,不可重復(fù),并做內(nèi)部排序

HashSet 使用hash表(數(shù)組)存儲(chǔ)元素
LinkedHashSet 鏈表維護(hù)元素的插入次序

TreeSet 底層實(shí)現(xiàn)為二叉樹,元素排好序

HashSet和TreeSet區(qū)別:
(1)Treeset 中的數(shù)據(jù)是自動(dòng)排好序的,不允許放入 null 值。
(2)HashSet 中的數(shù)據(jù)是無序的,可以放入 null,但只能放入一個(gè) null,兩者中的值都不能重復(fù),就如數(shù)據(jù)庫中唯一約束。
(3)HashSet 要求放入的對象必須實(shí)現(xiàn) HashCode()方法,放入的對象,是以 hashcode 碼作為標(biāo)識的,而具有相同內(nèi)容的 String 對象,hashcode 是一樣,所以放入的內(nèi)容不能重復(fù)。但是同一個(gè)類的對象可以放入不同的實(shí)例

4.Map

HashMap和HashTable

HashMap 和 Hashtable 都實(shí)現(xiàn)了 Map 接口,因此很多特性非常相似。但是,他們有以下不同點(diǎn):
(1)HashMap 允許鍵和值是 null,而 Hashtable 不允許鍵或者值是 null。
(2)Hashtable 是同步的,而 HashMap 不是。因此,HashMap 更適合于單線程環(huán)境,而 Hashtable 適合于多線程環(huán)境。

TreeMap

5.集合遍歷

(1)list遍歷

public class CollectionMain {
    public static void main(String[] args) {
        List testList = new ArrayList<>();

        testList.add("1");
        testList.add("2");
        testList.add("3");

        System.out.println("使用Iterator迭代.....");
        Iterator iterator = testList.iterator();
        while (iterator.hasNext()){
            String value = iterator.next();
            System.out.printf("%s ",value);
        }

        //在使用ListIterator迭代時(shí),開始也需要正向迭代,然后在倒序迭代
        System.out.println("

使用ListIterator迭代.....");
        System.out.println("正向遍歷.....");
        ListIterator listIterator = testList.listIterator();
        while (listIterator.hasNext()){
            String value = listIterator.next();
            System.out.printf("%s ",value);
        }
        System.out.println("
反向遍歷.....");
        while (listIterator.hasPrevious()){
            String value = listIterator.previous();
            System.out.printf("%s ",value);
        }
    }


}

輸出結(jié)果

使用Iterator迭代.....
1 2 3 

使用ListIterator迭代.....
正向遍歷.....
1 2 3 
反向遍歷.....
3 2 1 

(2)map遍歷

public class MapMain {
    public static void main(String[] args) {
        Map map = new HashMap();
        map.put(5, "a");
        map.put(2, "b");
        map.put(3, "c");
        map.put(4, "d");
        map.put(null, "e");// 和上面相同 , 會(huì)自己篩選
        System.out.println(map.size());

        //方式一:通過Map.keySet遍歷key和value
        for(Map.Entry entry:map.entrySet()){
            System.out.println("1,key:"+entry.getKey()+",value:"+entry.getValue());
        }

        //方式二:通過Map.entrySet使用iterator遍歷key和value
        Iterator> iterator=map.entrySet().iterator();
        while (iterator.hasNext()){
            Map.Entry entry=iterator.next();
            System.out.println("2,key:"+entry.getKey()+",value:"+entry.getValue());
        }

        //方法三:通keyset遍歷
        for(Integer key:map.keySet()){
            String v = map.get(key);//得到每個(gè)key多對用value的值
            System.out.println("3,key:"+key+",value:"+v);
        }

    }
}

輸出結(jié)果

5
1,key:null,value:e
1,key:2,value:b
1,key:3,value:c
1,key:4,value:d
1,key:5,value:a
2,key:null,value:e
2,key:2,value:b
2,key:3,value:c
2,key:4,value:d
2,key:5,value:a
3,key:null,value:e
3,key:2,value:b
3,key:3,value:c
3,key:4,value:d
3,key:5,value:a

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/77781.html

相關(guān)文章

  • 全棧之路JAVA基礎(chǔ)課程_集合20190615v1.0

    摘要:歡迎進(jìn)入基礎(chǔ)課程博客地址本系列文章將主要針對一些基礎(chǔ)知識點(diǎn)進(jìn)行講解,為平時(shí)歸納所總結(jié),不管是剛接觸開發(fā)菜鳥還是業(yè)界資深人士,都希望對廣大同行帶來一些幫助。是同步的,而不是。因此,更適合于單線程環(huán)境,而適合于多線程環(huán)境。 歡迎進(jìn)入JAVA基礎(chǔ)課程 博客地址:https://blog.csdn.net/houjiyu...本系列文章將主要針對JAVA一些基礎(chǔ)知識點(diǎn)進(jìn)行講解,為平時(shí)歸納所總...

    tain335 評論0 收藏0
  • 全棧之路JAVA基礎(chǔ)課程_多線程和死鎖(20190614v1.0

    摘要:一個(gè)進(jìn)程可以有多個(gè)線程。線程又叫做輕量級進(jìn)程。這樣兩個(gè)進(jìn)程相互無休止地等待下去,均無法繼續(xù)執(zhí)行,此時(shí)兩個(gè)進(jìn)程陷入死鎖狀態(tài)。不剝奪條件進(jìn)程所獲得的資源在未使用完畢之前,不能被其他進(jìn)程強(qiáng)行奪走,即只能由獲得該資源的進(jìn)程自己來釋放只能是主動(dòng)釋放。 歡迎進(jìn)入JAVA基礎(chǔ)課程 博客地址:https://blog.csdn.net/houjiyu...本系列文章將主要針對JAVA一些基礎(chǔ)知識點(diǎn)進(jìn)...

    Allen 評論0 收藏0
  • 全棧之路JAVA基礎(chǔ)課程_多線程和死鎖(20190614v1.0

    摘要:一個(gè)進(jìn)程可以有多個(gè)線程。線程又叫做輕量級進(jìn)程。這樣兩個(gè)進(jìn)程相互無休止地等待下去,均無法繼續(xù)執(zhí)行,此時(shí)兩個(gè)進(jìn)程陷入死鎖狀態(tài)。不剝奪條件進(jìn)程所獲得的資源在未使用完畢之前,不能被其他進(jìn)程強(qiáng)行奪走,即只能由獲得該資源的進(jìn)程自己來釋放只能是主動(dòng)釋放。 歡迎進(jìn)入JAVA基礎(chǔ)課程 博客地址:https://blog.csdn.net/houjiyu...本系列文章將主要針對JAVA一些基礎(chǔ)知識點(diǎn)進(jìn)...

    warnerwu 評論0 收藏0
  • 全棧之路JAVA基礎(chǔ)課程_AJAX原理剖析(20190617v1.0

    摘要:借鑒圖片僅用于學(xué)習(xí)分享,請尊重原創(chuàng)作者,勿用于商用。這其中最關(guān)鍵的一步就是從服務(wù)器獲得請求數(shù)據(jù)。基本步驟創(chuàng)建對象也就是創(chuàng)建一個(gè)異步調(diào)用對象。創(chuàng)建一個(gè)新的請求并指定該請求的方法及驗(yàn)證信息。設(shè)置響應(yīng)請求狀態(tài)變化的函數(shù)。使用和實(shí)現(xiàn)局部刷新。 歡迎進(jìn)入JAVA基礎(chǔ)課程 博客地址:https://blog.csdn.net/houjiyu...本系列文章將主要針對JAVA一些基礎(chǔ)知識點(diǎn)進(jìn)行講解...

    biaoxiaoduan 評論0 收藏0
  • 全棧之路JAVA基礎(chǔ)課程_AJAX原理剖析(20190617v1.0

    摘要:借鑒圖片僅用于學(xué)習(xí)分享,請尊重原創(chuàng)作者,勿用于商用。這其中最關(guān)鍵的一步就是從服務(wù)器獲得請求數(shù)據(jù)。基本步驟創(chuàng)建對象也就是創(chuàng)建一個(gè)異步調(diào)用對象。創(chuàng)建一個(gè)新的請求并指定該請求的方法及驗(yàn)證信息。設(shè)置響應(yīng)請求狀態(tài)變化的函數(shù)。使用和實(shí)現(xiàn)局部刷新。 歡迎進(jìn)入JAVA基礎(chǔ)課程 博客地址:https://blog.csdn.net/houjiyu...本系列文章將主要針對JAVA一些基礎(chǔ)知識點(diǎn)進(jìn)行講解...

    yintaolaowanzi 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<