Programa Java para invertir una lista – Part 5

Invertir una lista significa que después de invertir la lista, el primer elemento debe intercambiarse con el último elemento, el segundo elemento debe intercambiarse con el penúltimo elemento, y así sucesivamente hasta que el elemento del medio y la lista resultante sea la lista invertida.

Ejemplo:

Input:
"PLATFORM", "LEARNING",  "BEST", "THE", "IS", "GFG"
Output:
Reverse order of given List :- 
[GFG, IS, THE, BEST, LEARNING, PLATFORM]

Principalmente podemos invertir la lista de tres maneras:

  1. Recursivamente
  2. Usando Colecciones.reverse()
  3. Usando los métodos List.add() y List.remove

Método 1: Uso de la recursividad

El proceso en el que una función se llama a sí misma directa o indirectamente se llama recursividad y la función correspondiente se llama función recursiva. 

Java

// Java Program to Reverse a List recursively
 
import java.io.*;
import java.util.*;
 
class GFG {
    public static <T> void revlist(List<T> list)
    {
        // base condition when the list size is 0
        if (list.size() <= 1 || list == null)
            return;
 
       
        T value = list.remove(0);
       
        // call the recursive function to reverse
        // the list after removing the first element
        revlist(list);
 
        // now after the rest of the list has been
        // reversed by the upper recursive call,
        // add the first value at the end
        list.add(value);
    }
    public static void main(String[] args)
    {
        System.out.println(
            "Reverse order of given List :- ");
 
        List<String> gfg = new ArrayList<>(
            Arrays.asList("PLATFORM", "LEARNING",  "BEST", "THE", "IS", "GFG"));
 
        revlist(gfg);
 
        System.out.println(gfg);
    }
}
Producción

Reverse order of given List :- 
[GFG, IS, THE, BEST, LEARNING, PLATFORM]

Método 2: Usando Collections.reverse()

El método java.util.Collections.reverse() es un método de clase java.util.Collections. Invierte el orden de los elementos en una lista pasada como argumento.

Java

// Java program to reverse the list
// using Collections.reverse() method
 
import java.io.*;
import java.util.*;
 
class GFG {
    public static void main(String[] args)
    {
        List<Integer> number = new ArrayList<>(
            Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8));
       
        System.out.println(
            "Reverse order of given List :- ");
 
        // the number list will be reversed using this method
        Collections.reverse(number);
       
        System.out.println(number);
    }
}
Producción

Reverse order of given List :- 
[8, 7, 6, 5, 4, 3, 2, 1]

Método 3: Usar List.add() + List.remove()

El método List.add() de la interfaz List se usa para agregar el elemento especificado en el argumento al final de la lista.

El método List.remove() de la interfaz List se usa para eliminar el elemento especificado en el argumento de la lista.

Java

// Java program to reverse the list using List.add()
// and List.remove() method
 
import java.io.*;
import java.util.*;
 
class GFG {
    public static void main(String[] args)
    {
        List<Integer> number = new ArrayList<>(
            Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8));
       
        System.out.println(
            "Reverse order of given List :- ");
 
 
        for (int k = 0, j = number.size() - 1; k < j; k++)
        {
            number.add(k, number.remove(j));
        }
 
        System.out.println(number);
    }
}
Producción

Reverse order of given List :- 
[8, 7, 6, 5, 4, 3, 2, 1]

Publicación traducida automáticamente

Artículo escrito por kaaruni1124 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *