JavaRush /Java Blog /Random-TW /喝咖啡休息#136。使用 Arrays.sort() 按升序或降序對陣列進行排序。List 和 Set 介面有什麼...

喝咖啡休息#136。使用 Arrays.sort() 按升序或降序對陣列進行排序。List 和 Set 介面有什麼差別?

在 Random-TW 群組發布

使用 Arrays.sort() 按升序或降序對陣列進行排序

來源:FreeCodeCamp 透過這篇文章,您將學習如何在 Java 中按升序或降序對陣列進行排序。 喝咖啡休息#136。 使用 Arrays.sort() 按升序或降序對陣列進行排序。 List 和 Set 介面有什麼差別? - 1在Java中,我們使用陣列將一組變數(具有相同資料類型)儲存在單一變數中。但有時數組中儲存的值會以隨機順序出現。感謝 Java 中的Arrays類,我們有多種方法來操作數組,包括對數組進行排序。我們將使用Arrays類別中的方法之一是sort()方法,該方法按升序對陣列進行排序。若要依降序對陣列進行排序,請使用Java中 Collections類別的reverseOrder()方法。

如何使用 Arrays.sort() 在 Java 中對陣列進行升序排序

以下是我們如何使用sort()方法對陣列進行升序排序 的範例。
import java.util.Arrays;

class ArraySort {
    public static void main(String[] args) {
        int[] arr = { 5, 2, 1, 8, 10 };
        Arrays.sort(arr);

        for (int values : arr) {
            System.out.print(values + ", ");
            // 1, 2, 5, 8, 10,
        }
    }
}
在上面的範例中,我們做的第一件事是導入Arrays類別:import java.util.Arrays; 這使我們可以存取Arrays類別的所有方法。然後我們建立了一個包含隨機順序的數字的陣列:int[] arr = { 5, 2, 1, 8, 10 }; 。為了按升序對此數組進行排序,我們將數組作為參數傳遞給sort()方法:Arrays.sort(arr); 。請注意,在使用點表示法存取sort()方法之前,先編寫Arrays類別。最後,我們建立了一個循環並將陣列列印到控制台。結果是一個排序數組:1, 2, 5, 8, 10。現在我們來討論一下按降序對數組進行排序。

如何使用 Collections.reverseOrder() 在 Java 中對陣列進行降序排序

要按降序對陣列進行排序,您應該使用reverseOrder() ,它可以從Collections類別存取。我們仍然會使用Arrays.sort(); ,但在本例中它將採用兩個參數 - 一個要排序的陣列和Collections.reverseOrder()
import java.util.Arrays;
import java.util.Collections;

class ArraySort {
    public static void main(String[] args) {
        Integer[] arr = { 5, 2, 1, 8, 10 };
        Arrays.sort(arr, Collections.reverseOrder());

        for (int values : arr) {
            System.out.print(values + ", ");
            // 10, 8, 5, 2, 1,
        }
    }
}
我們做的第一件事是導入ArraysCollections類,因為我們將使用這些類別提供的方法。接著我們以隨機順序建立一個數字陣列:Integer[] arr = { 5, 2, 1, 8, 10 }; 。如您所看到的,我們使用Integer[]而不是前面範例中的int[] 。否則會出現錯誤。為了按降序對陣列進行排序,我們這樣做了:Arrays.sort(arr, Collections.reverseOrder()); 。第一個參數是一個陣列arr,它將按升序排序。第二個參數Collections.reverseOrder()將反轉已排序數組的順序,使其按降序排列。循環並列印時,陣列將如下所示:10, 8, 5, 2, 1

結論

在本文中,我們討論了 Java 中的陣列排序 - 如何按升序或降序對它們進行排序。為此,我們可以使用sort()方法,該方法可以從Arrays類別存取。sort()方法採用一個要排序的陣列作為參數。為了按降序對陣列進行排序,我們使用了Collections 類別提供的reverseOrder()方法。它作為第二個參數傳遞給sort()方法,以便排序後的陣列可以按降序重新排序。

Java 集合。List 和 Set 介面有什麼差別?

來源:Rrtutors List 和 Set 是擴充Collection介面的 Java 介面。在這篇文章中,我們將了解兩者之間的主要差異以及如何使用它們。

Java中Set和List介面的差別

讓我們根據以下關鍵參數來 定義ListSet介面之間的主要差異:

執行

List實作ArrayLists,而HashSet實作Set

索引

您可以使用ListIterator在List中向前和向後移動,但不能在Set中移動。請改用 Iterator (它適用於ListSet)。

命令

Set介面不支援任何特定的設定順序。Set類型的集合已經依照自己的規則排序了,不能這樣排序。 列表是一個有序列表。物件按照新增到清單中的順序儲存。列表元素透過索引存取。

空對象

List沒有任何限制,支援新增Null值,而Set最多允許新增一個Null值。

重複項

List可以包含重複項,但Set不能。Set 不允許重複元素,因為它的所有元素都必須是唯一的。如果重複元素插入Set中,現有值將會被覆寫。

什麼時候應該使用 List 和 Set?

當您只需要儲存唯一值時, Set是最佳選擇,因為這就是它的設計目的。但如果你想在重複的情況下保留插入順序,List是最好的選擇。

範例集

import java.util.ArrayList;

import java.util.LinkedList;

import java.util.List;

public class ListExample {

            public static void main(String[] args) {

                        List<String> al = new ArrayList<String>();

                          al.add("Rohit");

                          al.add("Panjab");

                          al.add("Kamir");

                          System.out.println("My ArrayList Items: ");

                          System.out.print(al);

                          List<String> ll = new LinkedList<String>();

                          ll.add("Shobit");

                          ll.add("Raul");

                          ll.add("Ketel");

                          System.out.println("\n My LinkedList Items: ");

                          System.out.print(ll);

            }

}

範例列表

import java.util.HashSet;

import java.util.Set;

import java.util.TreeSet;

public class SetExample {

            public static void main(String[] args) {

                          int myList[] = {60, 70, 80, 40 };

                            Set<Integer> dispSet = new HashSet<Integer>();

                            try{

                              for(int i = 0; i<4; i++){

                                dispSet.add(myList[i]);

                              }

                              System.out.println(dispSet);

                              TreeSet<Integer> treeset = new TreeSet<Integer>(dispSet);

                              System.out.println("Sorting in Asceding order:");

                              System.out.println(treeset);

                            }

                            catch(Exception e){

                                e.printStackTrace();

                            }

            }

}
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION