<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 `Collection`新手指南 > 原文: [https://javatutorial.net/java-collection-tutorial](https://javatutorial.net/java-collection-tutorial) Java 中的“集合”框架隨著 [JDK 1.2](https://javatutorial.net/install-java-8-jdk-on-ubuntu) 的發布而生效,并在 Java 1.4 和 Java 5 中進行了多次擴展,然后在 Java 6 中進行了擴展。 它為您(程序員)提供列表,集合,映射和隊列,以滿足您大多數的編碼需求。 而且,無論您選擇哪一個,都一定會給您至少一個合理的表現。 在深入探討事物之前,讓我們先整理一些事物。 * `collection`(小寫`c`):這表示存儲和迭代對象的不同類型的數據結構。 * `Collection`(大寫`c`):這是集合,列表和隊列擴展的接口。 “語法幫助:`java.util.Collection`” * `Collections`(大寫`c`并以字符`s`結尾):這是一個類,其中包含所有與集合一起使用的“靜態”實用程序方法。 ![Java collection hierarchy](https://img.kancloud.cn/3e/0c/3e0c08b0beb69ca23d1aff2ba6c7659b_1024x434.jpg) Java 集合層次結構 ## 現在出現的問題是……我該如何處理某個`Collection`? * 對于初學者,您可以將對象添加到集合中。 * 從集合中刪除對象 * 您可以檢查特定集合中是否有給定的對象 * 從集合中檢索任何對象而不將其刪除。 等等 現在,不用多說,讓我們開始使用收藏集。 它們通常有四個變體,即: * **列表**:事物列表 * **集合**:獨特的事物 * **映射**:具有唯一 ID 的事物 * **隊列**:先進先出。 ## 列表接口 `List`接口中重要的首要因素是索引。 擁有索引可以為程序員提供整個索引方法庫。 其次,所有三個不同的列表實現均按索引位置排序,這些實現的名稱為: * [`ArrayList`](https://javatutorial.net/java-arraylist-example) * `Vector` * [`LinkedList`](https://javatutorial.net/java-linkedlist-example) (我沒有忘記在上述名稱中按空格...) 1. [`ArrayList`](https://javatutorial.net/java-arraylist-example) :可以將其視為動態數組,所謂動態數組,是指可以根據需要進行擴展和收縮而無需明確指定其大小的數組。 `ArrayList`幫助的區域位于快速迭代和快速隨機訪問領域。 但是要注意的重要一點是,默認情況下未對`ArrayList`進行排序。 2. `Vector`:`Vector`有點像較慢的`ArrayList`,主要區別在于,為了線程安全,`Vector`方法都已同步。 (現在,線程安全性本身就是一個大話題,我們現在不再討論。) 3. [`LinkedList`](https://javatutorial.net/java-linkedlist-example) :我們又有了類似于`ArrayList`的內容。 這里的主要區別在于,`LinkedList`中的元素是雙向鏈接的。 `LinkedList`的迭代速度比`ArrayList`慢,但是當需要快速插入或刪除時,它是更好的選擇。 我們將在我們的教程[中更詳細地說明這一點[ Java 中的`ArrayList`和`LinkedList`之間的區別](https://javatutorial.net/difference-between-arraylist-and-linkedlist-in-java) ## 集合接口 這里的詞組類似于您在學校數學中學習過的詞組,如果您不喜歡該章,請不要著急。 這里唯一重要的是在`Set`中我們不允許重復。 就像列表接口一樣,集合接口也具有三種不同的實現: * [`HashSet`](https://javatutorial.net/java-hashset-example) * [`LinkedHashSet`](https://javatutorial.net/java-linkedhashset-example) * [`TreeSet`](https://javatutorial.net/java-treeset-example) 1. `HashSet`:這只是一個未排序的無序集合。 這里重要的是`LinkedHashSet`使用傳入對象的哈希碼。 2. `LinkedHashSet`:您現在必須已經猜到它有點類似于`HashSet`,并且絕對正確,因此,我只想讓您知道這兩者之間的區別(在此處輸入鼓聲) 是`HashSet`的有序版本,該版本在所有元素上維護一個雙向鏈表。 3. `TreeSet`:這是一個有序集合,并使用紅黑樹結構,該結構保證元素**必定**根據自然順序處于升序。 ## 映射接口 映射接口只關心以下事實:本質上,集合中已經存在或要添加到集合中的所有對象的所有標識符都是完全唯一的。 這里的鍵和值都是對象。 像上面給出的兩個接口一樣,Map 接口也具有三個不同的實現: * [`HashMap`](https://javatutorial.net/java-hashmap-example) * [`HashTable`](https://javatutorial.net/java-hashtable-example) * [`LinkedHashMap`](https://javatutorial.net/java-linkedhashmap-example) 1. `HashMap`:這為您提供了一個未分類的,未排序的映射,其中鍵在映射中的位置取決于鍵的`hashCode()`函數的值。 2. `HashTable`:它是`HashMap`的同步副本。 不允許輸入`NULL`。 3. `LinkedHashMap`:此實現可維持插入順序,這在我們討論迭代及其其他用途時是一項非常重要的功能,但令人懷疑的缺點是速度太慢。 您可能也對本教程感興趣,該教程更詳細地說明了`HashMap`和`TreeMap`之間的[差異](https://javatutorial.net/difference-between-hashmap-and-treemap-in-java) ## 隊列接口 是的,我們在這里談論的是普通隊列。 您幾乎在任何地方都遇到的問題,包括在您進入本文之前向您展示的結果隊列。 它基本上遵循 FIFO(先進先出)原則 * `PriorityQueue`:存在`PriorityQueue`的原因是要創建一個“優先輸入,優先輸出”隊列,而不是典型的 FIFO。 其次,在此實現中,元素通過自然排序或根據比較器排序。 這些是 [Java](http://www.trainingindelhi.com/best-java-training-in-delhi.php) 中`Collection`的基本類型,該主題仍然涉及很多內容,并且還需要進行更多的解釋,因此,如果您不這樣做,請不要猶豫不決。 首次獲得不同`Collection`實現之間的所有差異。 參考:官方 [Oracle Collections 教程](https://docs.oracle.com/javase/tutorial/collections/implementations/index.html)
                  <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>

                              哎呀哎呀视频在线观看