<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://www.programiz.com/java-programming/algorithms](https://www.programiz.com/java-programming/algorithms) #### 在本教程中,我們將借助示例學習 Java 集合框架提供的不同算法。 Java 集合框架提供了各種算法,可用于處理存儲在數據結構中的元素。 Java 中的算法是靜態方法,可用于對集合執行各種操作。 由于算法可用于各種集合,因此也稱為**通用算法**。 讓我們看一下集合框架中可用的不同方法的實現。 * * * ## 1.使用`sort()`排序 集合框架提供的`sort()`方法用于對元素進行排序。 例如, ```java import java.util.ArrayList; import java.util.Collections; class Main { public static void main(String[] args) { // Creating an array list ArrayList<Integer> numbers = new ArrayList<>(); // Add elements numbers.add(4); numbers.add(2); numbers.add(3); System.out.println("Unsorted ArrayList: " + numbers); // Using the sort() method Collections.sort(numbers); System.out.println("Sorted ArrayList: " + numbers); } } ``` **輸出** ```java Unsorted ArrayList: [4, 2, 3] Sorted ArrayList: [2, 3, 4] ``` 在此,排序以自然順序(升序)進行。 但是,我們可以使用比較器接口來自定義`sort()`方法的排序順序。 要了解更多信息,請訪問 [Java Sorting](/java-programming/collections-sort "Java Collections sort()") 。 * * * ## 2.使用`shuffle()`打亂 Java 集合框架的`shuffle()`方法用于破壞數據結構中存在的任何種類的順序。 它與排序相反。 例如, ```java import java.util.ArrayList; import java.util.Collections; class Main { public static void main(String[] args) { // Creating an array list ArrayList<Integer> numbers = new ArrayList<>(); // Add elements numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("Sorted ArrayList: " + numbers); // Using the shuffle() method Collections.shuffle(numbers); System.out.println("ArrayList using shuffle: " + numbers); } } ``` **輸出**: ```java Sorted ArrayList: [1, 2, 3] ArrayList using shuffle: [2, 1, 3] ``` 當我們運行程序時,`shuffle()`方法將返回隨機輸出。 打亂算法主要用于需要隨機輸出的游戲中。 * * * ## 3.常規數據處理 在 Java 中,集合框架提供了可用于處理數據的不同方法。 * `reverse()` - 反轉元素的順序 * `fill()` - 用指定的值替換集合中的每個元素 * `copy()` - 創建從指定源到目標的元素副本 * `swap()` - 交換集合中兩個元素的位置 * `addAll()` - 將一個集合的所有元素添加到其他集合 例如, ```java import java.util.Collections; import java.util.ArrayList; class Main { public static void main(String[] args) { // Creating an ArrayList ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); System.out.println("ArrayList1: " + numbers); // Using reverse() Collections.reverse(numbers); System.out.println("Reversed ArrayList1: " + numbers); // Using swap() Collections.swap(numbers, 0, 1); System.out.println("ArrayList1 using swap(): " + numbers); ArrayList<Integer> newNumbers = new ArrayList<>(); // Using addAll newNumbers.addAll(numbers); System.out.println("ArrayList2 using addAll(): " + newNumbers); // Using fill() Collections.fill(numbers, 0); System.out.println("ArrayList1 using fill(): " + numbers); // Using copy() Collections.copy(newNumbers, numbers); System.out.println("ArrayList2 using copy(): " + newNumbers); } } ``` **輸出**: ```java ArrayList1: [1, 2] Reversed ArrayList1: [2, 1] ArrayList1 Using swap(): [1, 2] ArrayList2 using addALl(): [1, 2] ArrayList1 using fill(): [0, 0] ArrayList2 using copy(): [0, 0] ``` **注意**:執行`copy()`方法時,兩個列表的大小均應相同。 * * * ## 4.使用`binarySearch()`搜索 Java 集合框架的`binarySearch()`方法搜索指定的元素。 它返回元素在指定集合中的位置。 例如, ```java import java.util.Collections; import java.util.ArrayList; class Main { public static void main(String[] args) { // Creating an ArrayList ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); numbers.add(3); // Using binarySearch() int pos = Collections.binarySearch(numbers, 3); System.out.println("The position of 3 is " + pos); } } ``` **輸出**: ```java The position of 3 is 2. ``` **注意**:應在執行`binarySearch()`方法之前對集合進行排序。 要了解更多信息,請訪問 [Java Binary Search](/java-programming/binarysearch "Java binarySearch()") 。 * * * ## 5.成分 * `frequency()` - 返回元素在集合中存在的次數計數 * `disjoint()` - 檢查兩個集合是否包含某些公共元素 例如: ```java import java.util.Collections; import java.util.ArrayList; class Main { public static void main(String[] args) { // Creating an ArrayList ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(2); System.out.println("ArrayList1: " + numbers); int count = Collections.frequency(numbers, 2); System.out.println("Count of 2: " + count); ArrayList<Integer> newNumbers = new ArrayList<>(); newNumbers.add(5); newNumbers.add(6); System.out.println("ArrayList2: " + newNumbers); boolean value = Collections.disjoint(numbers, newNumbers); System.out.println("Two lists are disjoint: " + value); } } ``` **輸出**: ```java ArrayList1: [1, 2, 3, 2] Count of 2: 2 ArrayList2: [5, 6] Two lists are disjoint: true ``` * * * ## 6.尋找極值 Java 集合框架的`min()`和`max()`方法分別用于查找最小和最大元素。 例如, ```java import java.util.Collections; import java.util.ArrayList; class Main { public static void main(String[] args) { // Creating an ArrayList ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); numbers.add(3); // Using min() int min = Collections.min(numbers); System.out.println("Minimum Element: " + min); // Using max() int max = Collections.max(numbers); System.out.println("Maximum Element: " + max); } } ``` **輸出**: ```java Minimum Element: 1 Maximum Element: 3 ```
                  <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>

                              哎呀哎呀视频在线观看