<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ### 集合類基礎接口 | 接口 | 描述 | | :---: | :--- | | Collection | 運行操作一組對象,集合層次結構頂部 | | Queue | 擴展Collection,只能從列表頂部刪除元素 | | Deque | 擴展Queue以處理雙端隊列 | | List | 擴展Collection以處理序列 | | Set | 集合中的元素必須唯一 | | SortedSet | 已排序的集合 | | NavigableSet | 擴展SortedSet以基于最接近匹配原則檢索元素 | ### ![](https://img.kancloud.cn/f2/dc/f2dc41caae0a8b9aeca7f4b228de0c84_1005x617.png) ### JAVA集合實現類 * ArrayList * LinkedList * ArrayDeque * HashSet * TreeSet * EnumSet * LinkedHashSet * PriorityQueue ### Collection重點關注API * Collection的創建:關注實現類的構造器 * boolean add\(E e\);此方法的實現決定了此方法的性能 * remove\(Object o\); * get\(index\) * Iterator&lt;E&gt; iterator\(\); * contains\(Object o\); ### 【知識點】 * Set存儲的是不重復的對象,依據hashCode和equals進行判斷,所以Set存儲的對象必須重寫這兩個方法; * String重寫了hashCode和equals方法,所以我們可以非常愉快地使用String對象作為key來使用; * ArrayList的subList結果不可強轉成ArrayList,否則會拋出ClassCastException異常,即java.util.RandomAccessSubList can not be cast to java.util.ArrayList;subList返回的是ArrayList的內部類SubList,并不是ArrayList而是ArrayList的一個視圖,對于SubList子列表的所有操作最終會反映到原列表上; * 在subList場景中,高度注意對原集合元素的增加或刪除,均會導致子列表的遍歷增加、刪除產生ConcurrentModificationException異常; * 使用集合轉數組的方法,必須使用集合的toArray\(T\[\]array\),傳入一樣的數組,大小就是list.size\(\);直接使用toArray無參方法存在問題,此方法返回值只能是Object\[\]類,若強轉其它類型數組將出現ClassCastException錯誤; * 使用工具類Arrays.asList\(\)把數組轉換成集合時,不能使用其修改集合相關的方法,它的add/remove/clear方法會拋出UnsupportedOperationException異常; ### 總結![](https://img.kancloud.cn/c9/de/c9dee21ac3520a00f31937c36335bc0b_1592x350.png)![](https://img.kancloud.cn/82/fc/82fcec481c267f188d0db0940c0bd128_850x195.png) ### List和Set的區別 1. List和Set之間很重要的一個區別是是否允許重復元素的存在,在List中允許插入重復的元素,而在Set中不允許重復元素存在,即使插入相同元素也會進行替換; 2. List和Set之間另外一個很重要的區別與元素先后存放順序有關。List是有序集合,而Set是無序集合。List會保留元素插入時的順序,也就是說之前插入的元素的索引要比之后插入的元素的索引要小。而Set不會保留插入時的順序;【PS:ArrayList中使用對象數組來存儲對象,在每次插入新的對象時會插入到size大小處;至于HashSet,前面說到是通過HashMap來實現的,存入的對象作為HashMap的key,如果key相同會替換value。當然,SortedSet(繼承了Set接口)能夠以指定的排序方式來保存元素】 3. List可以通過下標來訪問,而Set不能 【知識點】 * java5.0增加了2種新的容器類型:Queue和BlockingQueue * java6增加了兩種容器類型Deque和BlockingDeque,分別對Queue和BlockingQueue進行了擴展
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看