Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

[Proyecto] Desafío de Collections

Hola, a continuación comparto mis respuestas:

1.¿Cómo podemos invertir el orden de una lista?

  • R/ Usando Collections.reverse() método, ` import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List;

// Programa para invertir in situ una lista en Java class Main { public static void main(String[] args) { List Cuentas = new ArrayList<>(Arrays.asList("cc1", "cc2", "cc3"));

    Collections.reverse(Cuentas);
    System.out.println(Cuentas);
}

}

* También usando List.add() con List.remove() método,reordenar los elementos presentes en la lista usando un bucle for, que elimina un elemento del final de la lista y lo inserta al principio, uno a la vez.
* También podemos usar la recursividad para invertir una lista en el lugar

import java.util.ArrayList; import java.util.Arrays; import java.util.List;

// Programa para invertir in situ una lista en Java class Main { public static void reverseList(List list) { // caso base: la lista está vacía o solo queda un elemento if (list == null || list.size() <= 1) { return; }

    // elimina el primer elemento
    T value = list.remove(0);

    // recurre para los elementos restantes
    reverseList(list);

    // inserta el elemento superior de nuevo después de recurse para los elementos restantes
    list.add(value);
}

public static void main(String[] args)
{
    List<String> colors = new ArrayList<>(Arrays.asList("RED", "BLUE", "BLACK"));

    reverseList(colors);
    System.out.println(colors);
}

}

` 2.¿Cómo podemos mezclar todos los elementos de una lista?

  • Usando List.addAll(), método que agrega todos los elementos de la colección especificada al final de la lista. `// Método genérico para unir dos listas en Java public static List merge(List list1, List list2) { List list = new ArrayList<>();

    list.addAll(list1); list.addAll(list2);

    return list; }`

  • Inicialización de doble llave,crea internamente una clase interna anónima con un inicializador de instancia en ella. *// Método genérico para unir dos listas en Java public static List merge(List list1, List list2) { return new ArrayList() {{

          addAll(list1);
          addAll(list2);
      }};

    }

  • Usando Collections.addAll(). En Java 8 usando Stream.of() con flatMap() + Coleccionista,obteniendo una secuencia que consta de elementos de la lista usando el método de fábrica estático Stream.of() y acumulando todos los elementos en una nueva lista usando un Collector.

3.¿Cómo podemos rotar los elementos de una lista?

  • Usando Collections.rotate() método, El enfoque estándar para rotar los elementos de una lista por la distancia especificada está usando el Collections.rotate() método. Por ejemplo, el siguiente código gira a la izquierda una lista 2 posiciones.
2 respuestas
solución!

Hola Natalia, espero que estés bien.

Gracias por compartir con nosotros. Me alegra que estés disfrutando del curso.

Excelente explicación... Comparta tu codigo canal en Discord #CompartaTuCodigo donde puedes dar y sugerir mejoras con el resto de tus compañeros.

Un saludo.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios.

Gracias Adriana :)