<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 功能強大 支持多語言、二開方便! 廣告
                # Java 集合 > 原文: [https://javabeginnerstutorial.com/core-java-tutorial/collection-in-java/](https://javabeginnerstutorial.com/core-java-tutorial/collection-in-java/) 在 JDK 1.2 中添加了集合框架,并在 1.4 -1.6 中對其進行了擴展 ## 集合框架的接口金額類 集合 API 提供了一組接口供您選擇,但同時也為您提供了一些可直接使用的具體類。 ## 核心接口 * `Collection` * [`List`](https://javabeginnerstutorial.com/core-java-tutorial/list-collection-tutorial-for-java-beginners/) * [`Set`](https://javabeginnerstutorial.com/core-java-tutorial/set-collection-tutorial-for-java-beginners/) * [`SortedSet`](https://javabeginnerstutorial.com/core-java-tutorial/sorted-set-collection-tutorial-for-java-beginners/ "Sorted Set Collection Tutorial for Java Beginners") (擴展`Set`接口) * `NavigableSet`(擴展`SortedSet`) * [`Map`](https://javabeginnerstutorial.com/core-java-tutorial/map-collection-tutorial-for-java-beginners/) * [`SortedMap`](https://javabeginnerstutorial.com/core-java-tutorial/sorted-map-collection-tutorial-for-java-beginners/ "Sorted Map Collection Tutorial for Java Beginners") (擴展`Map`接口) * `NavigableMap`(擴展`SortedMap`) * `Queue` ## 實現類 ### 1 `Map` * [`HashMap`](https://javabeginnerstutorial.com/core-java-tutorial/java-collection-hashmap-hashtable/ "Java Collection Hashmap tutorial") * `HashTable` * `TreeMap` * `LinkedHashMap` ### 2 `Set` * `HashSet` * `LinkedHashSet` * `TreeSet` ### 3 `List` * `ArrayList` * `Vector` * `LinkedList` ### 4 `Queue` * `AbstractQueue` 1. `ArrayBlockingQueue` 2. `ConcurrentLinkedQueue` 3. `DelayQueue` 4. `LinkedBlockingDeque` 5. `LinkedBlockingQueue` 6. `LinkedTransferQueue` 7. `PriorityBlockingQueue` 8. `PriorityQueue` 9. `SyncronizedQueue` ### 5 `Deque` * `ArrayDeque` * `ConcurrentLinkedDeque` ### 6 數組 > 并非集合框架中的所有類都實現`Collection`接口。 > > 沒有與`Map`相關的類&接口從`Collection`擴展。 集合也可以基于排序和排序進行劃分。 * * * ### 1 - 有序集合 有序集合可以以特定順序(非隨機)進行迭代。 例如:數組,哈希表 1. `LinkedHashSet`(迭代順序是可預測的) 2. 數組 3. `HashTable` 4. `ArrayList` ### 2 – 無序集合 1. `HashSet` * * * ### 3 - 排序的集合 在排序的集合中,集合的順序是根據某些規則確定的。 例如`List` * * * ### `List`接口 **屬性**: 關注索引 具有與索引(`indexOf` ..)相關的方法 按索引位置排序 `ArrayList` **語法** ```java List l = new ArrayList<E>(); ``` **屬性**: * 可增長數組 * 快速迭代 * 快速隨機訪問 * 按索引排序 * * * ### `Vector` 與`ArrayList`相同,但`Vector`中的方法是同步的。 * * * ### `LinkedList` **屬性** * 元素彼此雙重鏈接。 * 按索引位置排序 * 適用于實現棧和隊列 * 快速插入和刪除 * * * ### `Set`接口 設置用于考慮對象唯一性的情況。 不允許重復的對象。 若要確定兩個對象是否相等,`Set`使用`equals()`和`hashcode()`方法。 * * * ### `HashSet` **屬性** * 無序 * 使用對象的哈希碼 * 沒有重復的對象 ### `LinkedHashMap` * 有序(插入) * 使用對象的哈希碼 * 沒有重復的對象 * * * ### `TreeSet` * 排序(使用樹形結構) * 使用對象的哈希碼 * 沒有重復的對象 —————————————————————————————— ## 并發集合接口 * `BlockingQueue`**擴展了**`Queue` * `TransferQueue`**擴展了**`BlockingQueue` * `BlockingDeque`**擴展了**`BlockingQueue` * `ConcurrentMap`**擴展了**`Map` ## 并發集合實現 * `LinkedBlockingQueue`**擴展了**`AbstractQueue`**實現了**`BlockingQueue` * `ArrayBlockingQueue`**擴展了**`AbstractQueue`**實現了**`BlockingQueue` * `PriorityBlockingQueue`**擴展了**`AbstractQueue`**實現了**`BlockingQueue` * `DelayQueue`**擴展了**`AbstractQueue`**實現了**`BlockingQueue` * `SynchronousQueue`**擴展了**`AbstractQueue`**實現了**`BlockingQueue` * `LinkedBlockingDeque`**擴展了**`AbstractQueue`**實現了**`BlockingDeque` * `LinkedTransferQueue`**擴展了**`AbstractQueue`**實現了**`TransferQueue` * `CopyOnWriteArrayList`**實現**`List`,`RandomAccess` * `CopyOnWriteArraySet`**擴展**`AbstractSet` * `ConcurrentSkipListSet`**擴展了**`AbstractSet`**實現了**`NavigableSet` * `ConcurrentHashMap`**擴展了**`AbstractMap`**實現了**`ConcurrentMap` * `ConcurrentSkipListMap`**擴展了**`AbstractMap`**實現了**`ConcurrentNavigableMap` ## 可能有助于決定集合類的因素 為特定問題選擇適當的集合時,可以考慮多種因素。 這些因素是: 1. **排序** - 元素中的某種排序。 例如,排序順序,插入順序或沒有特定順序。 2. **重復項** - 可能或可能不想在集合中允許重復的元素。 3. **線程安全** - 如果有多個線程訪問集合,請確保集合中元素的安全。 4. **鍵值對** - 存儲在鍵值對中。 5. **阻塞操作** - 檢索元素時等待集合變為非空。 6. **隨機訪問** - 即時檢索元素。 7. **上限** - 要限制集合可以容納的最大元素數。 還有其他因素,例如優先級,延遲等。 ## 備忘單 1. **集合**是存儲對象的數據結構。 2. 可以添加,刪除對象,也可以在集合中對其進行遍歷。 3. 基本集合有 4 種類型 4. **列表**: **有序**,**允許**重復,已索引。 5. **集**:可以有序或可以無序。 **不允許復制**。 6. **映射**:不允許使用**重復的**鍵。 7. **隊列**:按 **FIFO** 或**優先級**進行排序。 8. **`ArrayList`**:快速迭代&快速隨機訪問。 9. **`Vector`**:同步方法。 10. **`LinkedList`**:適用于實現棧和隊列。 11. **`HashSet`**:快速訪問,沒有重復,沒有排序。 12. **`LinkedHashSet`**:沒有重復,按插入順序進行迭代。 13. **`TreeSet`**:無重復,按排序順序進行迭代。
                  <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>

                              哎呀哎呀视频在线观看