亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Collection集合總結

2019-11-14 22:18:15
字體:
來源:轉載
供稿:網友
Collection集合總結

一、集合的概述

  1、集合的由來

  java是面向對象的語言,而面向對象語言對事物的描述是通過對象體現的,為了方便對多個對象進行操作,我們就必須把這多個對象進行存儲。而我們要想存儲多個對象,就不能是一個基本的變量,而應該是一個容器類型的變量,而在我們Java的基礎知識里,我們有哪些容器類型的呢?答案是數組和StringBuffer兩種,但是呢?StringBuffer的結果是一個字符串,不一定滿足我們的要求,所以我們只能選擇數組,這就是對象數組。而對象數組又不能適應變化的需求,因為數組的長度是固定的。這個時候,為了適應變化的需求,Java就提供了集合類供我們使用。

  2、集合和數組的區別

  既然提到了數組和集合,那么我們就說一下集合和數組的區別:

  A:長度區別

    數組的長度固定

    集合的長度可變

  B:內容不同

    數組存儲的是同一種類型的元素

    集合可以存儲不同類型的元素

  C:存儲元素的數據類型不同

    數組可以存儲基本數據類型,也可以存儲引用數據類型

    集合只能存儲引用數據類型

二、Collection集合的框架體系

  1、Collection集合體系

    Collection集合是單列集合的頂層接口。Collection表示一組對象,這些對象也稱為Collection的元素。該集合的數據結構(簡單記就是數據的存儲方式)對集合元素有效。

    Collectoin集合的功能概述:

      1)添加功能

          boolean add(Object obj):添加功能

          boolean addAll(Collection c):添加一個集合的元素

      2)刪除功能

          void clear():移除所有元素

          boolean remove(Object obj):移除一個元素

          boolean removeAll(Collection c):移除一個集合的元素(只要有一個元素移除了就返回true)

      3)判斷功能

          boolean contains(Object obj):判斷集合中是否包含指定的元素

          boolean containsAll(Collection c):判斷集合中是否包含指定的集合元素(只有包含指定集合中所有的元素才叫包含)

          boolean isEmpty():判斷集合是否為空(指集合的數據元素為空)

      4)獲取功能

          Iterator iterator():迭代器,集合專有的遍歷方式

      5)長度功能

          int size():元素的個數

      6)交集功能

          boolean retainAll(Collection c):兩個集合中都有的元素(假設有兩個集合A、B,A對B做交集,最終的結果保存在集合A中,集合B不變,返回值表示的是集合A是否發生過改變)

      7)把集合轉換為數組

          Object[] toArray():把集合轉成數組,可以實現集合的遍歷

  Collection集合有兩個子接口List和Set。

  2、List集合

    List集合的特點:有序(指存儲和取出元素的順序一致)、存儲元素可重復

    List集合的特有功能:

      1)添加功能

        void add(int index,Object element):在指定位置添加元素

      2)獲取功能

        Object get(int index):獲取指定位置的元素

      3)列表迭代器

        ListIterator listIterator():迭代所有的元素

        ListIteraror listIterator(int index):從指定位置開始迭代元素

      4)刪除功能

        Object remove(int index):根據索引刪除元素,返回被刪除的元素

      5)修改功能

        Object set(int index,Object element):根據索引修改元素,返回被修改的元素

   List集合有ArrayList、Vector和LinkedList三個常用子類。

  3、List集合的子類

   List集合的子類特點:

      ArrayList的底層數據結構是數組,查詢快,增刪慢,線程不安全,效率高

      Vector的底層數據結構是數組,查詢快,增刪慢,線程安全,效率低

      LinkedList的底層數據結構是鏈表,查詢慢,增刪快。線程不安全,效率高

    Vector的特有功能:

      1)添加功能

        public void addElement(Object obj)

      2)獲取功能

        public Object elementAt(int index)

        public Enumeration elements()

    LinkedList的特有功能:

      1)添加功能

        public void addFirst(Object obj)

        public void addLast(Object obj)

      2)獲取功能

        public Object getFirst()

        public Object getLast()

      3)刪除功能

        public Object removeFirst()

        public Object removeLast()

  4、Set集合

    Set集合的特點:無序(指元素的存儲和取出順序不一致)、存儲元素唯一

    Set集合有HashSet和TreeSet兩個常用子類。

  5、Set集合的子類

    1)HashSet類的特點:

      HashSet類不保證Set的迭代順序,特別是它不保證該順序恒久不變。

      注意:雖然Set集合的元素是無序的,但是作為集合來說,它肯定有它自己的元素存儲順序。而如果你的順序恰好和它的存儲順序一致,這代表不了有序,你可以多存儲一些數據,看效果。

    HashSet類的底層數據結構是哈希表。而哈希表保證元素的唯一性依賴于兩個方法:int hashCode()和boolean equals(Object obj)

    用HashSet存儲元素的執行順序:

      首先比較hashCode()值是否相同

        是:繼續執行equals(),看其返回值

            是true:說明元素重復,不添加

            是false:就直接添加到集合

        否:就直接添加到集合

    HashSet類有一個子類LinkedHashSet,LinkedHashSet存儲元素的特點是有序、唯一

      LinkedHashSet的底層數據結構由鏈表和哈希表組成,由鏈表保證元素有序,由哈希表保證元素唯一。

    

    2)TreeSet類的特點

      TreeSet類底層數據結構是紅黑樹(是一種自平衡的二叉樹)。

      TreeSet類如何保證元素唯一性呢?

        根據比較的返回值是否是0來決定

      TreeSet類如何保證元素的排序呢?

        a:自然排序(元素具備比較性)

          讓元素所屬的類實現Comparable接口

        b:比較器排序(集合具備比較性)

          讓集合接收一個Comparator的實現類對象

  

     

  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩美女在线| 亚洲国产高潮在线观看| 国产精品欧美一区二区三区奶水| 日韩亚洲精品电影| 欧美成人精品三级在线观看| 亚洲乱码国产乱码精品精| 欧美电影免费观看高清完整| 成人黄色片网站| 欧美成人四级hd版| 国产91久久婷婷一区二区| 日本久久久a级免费| 一本色道久久综合亚洲精品小说| 亚洲福利视频专区| 久久成人精品电影| 国产欧美在线看| 久久久久久成人精品| 欧美专区在线观看| 国产亚洲视频在线| 人人爽久久涩噜噜噜网站| 日本三级韩国三级久久| 久久视频这里只有精品| 久久久最新网址| 中文字幕欧美国内| 91a在线视频| 69久久夜色精品国产69乱青草| 成人春色激情网| 亚洲高清不卡av| 日韩免费高清在线观看| 91人人爽人人爽人人精88v| 国产精品十八以下禁看| 国产精品一区二区三区毛片淫片| 亚洲一区精品电影| 欧美香蕉大胸在线视频观看| 欧美电影免费观看大全| 美女视频黄免费的亚洲男人天堂| 成人www视频在线观看| 久久久女女女女999久久| 国产a∨精品一区二区三区不卡| 亚洲国产精品va在看黑人| 成人av番号网| 日韩中文字幕视频在线观看| 国模私拍一区二区三区| 91精品国产网站| 伊人久久久久久久久久| 亚洲国模精品私拍| 亚洲开心激情网| 欧美丰满少妇xxxxx| 亚洲美女av电影| 久久精品亚洲94久久精品| 久久综合久久88| 96sao精品视频在线观看| 日本韩国欧美精品大片卡二| 亚洲新中文字幕| 日韩乱码在线视频| 国产91在线播放| 欧美床上激情在线观看| 国产精品∨欧美精品v日韩精品| 亚洲国产精品va在看黑人| 国产精品色婷婷视频| 久久久久久尹人网香蕉| 亚洲人成啪啪网站| 韩国欧美亚洲国产| 久久久国产一区二区三区| 97福利一区二区| 国内精品伊人久久| 欧美成人一区二区三区电影| 国产精品九九久久久久久久| 久久久www成人免费精品| 中文字幕亚洲欧美| 97视频免费观看| 91在线观看免费高清完整版在线观看| 78m国产成人精品视频| 美女性感视频久久久| 91在线免费看网站| 人人做人人澡人人爽欧美| 亚洲欧美日韩精品久久奇米色影视| 永久免费精品影视网站| www.亚洲一区| 国产精品久久久久久久电影| 久久99精品视频一区97| 日韩av大片在线| 国产99久久精品一区二区永久免费| 亚洲影视九九影院在线观看| 性日韩欧美在线视频| 欧美大片第1页| 国产精品免费在线免费| 日韩中文综合网| 国产精品白嫩初高中害羞小美女| 久久久久久久激情视频| 日韩美女毛茸茸| 日韩成人av在线| 亚洲xxxxx电影| 日韩成人小视频| 欧美日韩国产123| 色偷偷888欧美精品久久久| 最新91在线视频| 欧美精品国产精品日韩精品| 欧美激情亚洲激情| 日韩在线激情视频| 最近2019年中文视频免费在线观看| 日韩在线观看免费高清| 国产精品美女久久久久久免费| 欧美一级大片在线观看| 高清一区二区三区四区五区| 久久中文字幕在线| 国产精品一区二区久久久久| 日本欧美爱爱爱| 亚洲成人av在线| 亚洲精品99久久久久中文字幕| 欧美激情在线观看视频| 日韩在线观看网址| 一级做a爰片久久毛片美女图片| 亚洲精品一区久久久久久| 国产区精品在线观看| 欧美人在线视频| 精品成人乱色一区二区| 亚洲日韩第一页| 国产xxx69麻豆国语对白| 久久精品国产91精品亚洲| 精品国产美女在线| 97精品视频在线观看| 夜夜躁日日躁狠狠久久88av| 久久九九国产精品怡红院| 日韩精品久久久久| 欧美极品第一页| 日韩免费视频在线观看| 亚洲国产精品女人久久久| 最近免费中文字幕视频2019| 久久久久久久久中文字幕| 91产国在线观看动作片喷水| 色悠悠国产精品| 亚洲精品美女在线观看播放| 成人精品久久久| 91社区国产高清| 国产91久久婷婷一区二区| 日韩中文综合网| 亚洲午夜精品视频| 久久九九亚洲综合| 一本色道久久综合狠狠躁篇的优点| 亚洲国产天堂久久综合| 蜜臀久久99精品久久久久久宅男| 精品香蕉一区二区三区| 国产成人综合精品在线| 成人免费看片视频| 欧美在线视频免费| 亚洲品质视频自拍网| 欧美一区二区三区……| 这里只有视频精品| 日韩欧美中文字幕在线观看| 日韩av在线直播| 欧美电影在线免费观看网站| 久久久国产精品免费| 国产精品男人爽免费视频1| 黑人精品xxx一区一二区| 久久久久久欧美| 欧美日产国产成人免费图片| 国语自产偷拍精品视频偷| 亚洲女人天堂色在线7777| 国产91精品青草社区| 亚洲欧美另类人妖| 久久人人看视频| 日韩欧美aⅴ综合网站发布| 成人久久久久爱| 欧美多人乱p欧美4p久久|