JavaRush /Java 博客 /Random-ZH /喝咖啡休息#136。使用 Arrays.sort() 按升序或降序对数组进行排序。List 和 Set 接口有什么...

喝咖啡休息#136。使用 Arrays.sort() 按升序或降序对数组进行排序。List 和 Set 接口有什么区别?

已在 Random-ZH 群组中发布

使用 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