JavaRush /Blog Java /Random-ES /Pausa para el café #136. Ordene una matriz en orden ascen...

Pausa para el café #136. Ordene una matriz en orden ascendente o descendente usando Arrays.sort(). ¿Cuál es la diferencia entre las interfaces List y Set?

Publicado en el grupo Random-ES

Ordene una matriz en orden ascendente o descendente usando Arrays.sort()

Fuente: FreeCodeCamp Con esta publicación, aprenderá cómo ordenar una matriz en orden ascendente o descendente en Java. Pausa para el café #136.  Ordene una matriz en orden ascendente o descendente usando Arrays.sort().  ¿Cuál es la diferencia entre las interfaces List y Set?  - 1En Java, usamos matrices para almacenar un conjunto de variables (con el mismo tipo de datos) en una sola variable. Pero a veces los valores almacenados en la matriz aparecen en orden aleatorio. Gracias a la clase Arrays en Java, tenemos varias formas de manipular matrices, incluida ordenarlas. Uno de los métodos que usaremos de la clase Arrays es el método sort() , que ordena la matriz en orden ascendente. Para ordenar una matriz en orden descendente, utilice el método reverseOrder() de la clase Colecciones en Java.

Cómo ordenar una matriz en orden ascendente en Java usando Arrays.sort()

A continuación se muestra un ejemplo de cómo podemos utilizar el método sort() para ordenar una matriz en orden ascendente.
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,
        }
    }
}
Lo primero que hicimos en el ejemplo anterior fue importar la clase Arrays : import java.util.Arrays; . Esto nos da acceso a todos los métodos de la clase Arrays . Luego creamos una matriz con números en orden aleatorio: int[] arr = { 5, 2, 1, 8, 10 }; . Para ordenar esta matriz en orden ascendente, pasamos la matriz como parámetro al método sort() : Arrays.sort(arr); . Tenga en cuenta que la clase Arrays se escribe primero antes de acceder al método sort() usando la notación de puntos. Finalmente, creamos un bucle e imprimimos la matriz en la consola. El resultado es una matriz ordenada: 1, 2, 5, 8, 10 . Ahora hablemos de ordenar la matriz en orden descendente.

Cómo ordenar una matriz en orden descendente en Java usando Collections.reverseOrder()

Para ordenar una matriz en orden descendente, debe usar ReverseOrder() , a la que se puede acceder desde la clase Colecciones . Seguiremos usando Arrays.sort(); , pero en este ejemplo se necesitarán dos parámetros: una matriz para ordenar y 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,
        }
    }
}
Lo primero que hicimos fue importar las clases Arrays y Collections porque usaremos los métodos proporcionados por estas clases. Luego creamos una matriz de números en orden aleatorio: Integer[] arr = { 5, 2, 1, 8, 10 }; . Como puede ver, usamos Integer[] en lugar de int[] como en el ejemplo anterior. De lo contrario se producirá un error. Para ordenar la matriz en orden descendente, hicimos esto: Arrays.sort(arr, Collections.reverseOrder()); . El primer parámetro es una matriz que se ordenará en orden ascendente. El segundo parámetro, Collections.reverseOrder() , invertirá el orden de la matriz ordenada para que esté en orden descendente. Cuando se recorra e imprima, la matriz se verá así: 10, 8, 5, 2, 1 .

Conclusión

En este artículo, analizamos cómo ordenar matrices en Java: cómo se pueden ordenar en orden ascendente o descendente. Para ello podemos utilizar el método sort() , al que se puede acceder desde la clase Arrays . El método sort() toma una matriz para ordenar como parámetro. Para ordenar la matriz en orden descendente, utilizamos el método reverseOrder() proporcionado por la clase Colecciones. Se pasa como segundo parámetro al método sort() para que la matriz ordenada se pueda reordenar en orden descendente.

Colección Java. ¿Cuál es la diferencia entre las interfaces List y Set?

Fuente: Rrtutors List y Set son interfaces Java para ampliar la interfaz Collection . En esta publicación, veremos las diferencias clave entre los dos, así como también cómo se pueden usar.

Diferencias entre las interfaces Set y List en Java

Definamos las diferencias clave entre las interfaces List y Set según los siguientes parámetros clave:

Implementación

List implementa ArrayLists , mientras que HashSet implementa Set .

Indexación

Puedes usar ListIterator para avanzar y retroceder a través de un List , pero no a través de un Set . Utilice Iterator en su lugar (que funciona tanto con List como con Set ).

Orden

La interfaz Set no admite ningún orden de conjunto en particular. Una colección del tipo Conjunto ya está ordenada según su propia regla y no se puede ordenar así simplemente. La lista es una lista ordenada. Los objetos se almacenan en el orden en que fueron agregados a la lista. Se accede a los elementos de la lista por índice.

Objeto nulo

La lista no tiene restricciones y admite la adición de valores nulos, mientras que Set permite como máximo un valor nulo.

Duplicados

La lista puede contener duplicados, pero el conjunto no. Set no permite elementos duplicados porque todos sus elementos deben ser únicos. Si inserta un elemento duplicado en Set , se sobrescribirá el valor existente.

¿Cuándo debería utilizar Listar y Establecer?

Set es la mejor opción cuando solo necesita almacenar valores únicos, ya que para eso está diseñado. Pero si desea conservar el orden de inserción a pesar de la duplicación, List es la mejor opción .

Conjunto de ejemplo

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);

            }

}

Lista de ejemplo

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();

                            }

            }

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