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

資訊專欄INFORMATION COLUMN

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

dkzwm / 1394人閱讀

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

歡迎進入JAVA基礎課程

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

寄語:
再走長征路,回顧過往崢嶸歲月,重溫重要歷史事件,砥礪前行,用腳步丈量新時代的長征路。工作道路上,我們也要弘揚這種長征精神,堅持不懈,一步一個腳印,腳踏實地,朝著自己的目標前行。
集合 1. 集合框架圖

(1)縮略版

(2)詳細版

2.集合和數組區別

3.Collection接口

List接口:元素按進入先后有序保存,可重復

(1)LinkedList:底層數據結構是鏈表,查詢慢,增刪快,線程不安全,效率高,可以存儲重復元素
(2) ArrayList:底層數據結構是數組,查詢快,增刪慢,線程不安全,效率高,可以存儲重復元素
(3) Vector:底層數據結構是數組,查詢快,增刪慢,線程安全,效率低,可以存儲重復元素

Set 接口: 僅接收一次,不可重復,并做內部排序

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

TreeSet 底層實現為二叉樹,元素排好序

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

4.Map

HashMap和HashTable

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

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迭代時,開始也需要正向迭代,然后在倒序迭代
        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);
        }
    }


}

輸出結果

使用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");// 和上面相同 , 會自己篩選
        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);//得到每個key多對用value的值
            System.out.println("3,key:"+key+",value:"+v);
        }

    }
}

輸出結果

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77781.html

相關文章

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

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

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

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

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

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

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

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

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

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

    yintaolaowanzi 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<