Barajar significa cambiar las posiciones de los elementos de ArrayList al azar. Después de barajar, estarán en un orden diferente.
A continuación se muestra el ejemplo de barajado de elementos ArrayList.
Maneras de barajar elementos de ArrayList:
- Usando la clase aleatoria
- Uso de Collections.shuffle()
Método 1: Usando la clase Random
- En este método vamos a barajar el elemento ArrayList usando la clase Random para generar un índice aleatorio.
- Y el método java collections.swap() para intercambiar elementos de ArrayList.
- Y un algoritmo más que vamos a utilizar es la reproducción aleatoria de Fisher-Yates.
Código:
Java
// Java program to demonstrate shuffling of arraylist // elements Using Random class import java.util.*; class ArraylistShuffle { public static void main(String args[]) { // creating // ArrayList ArrayList<Integer> al = new ArrayList<Integer>(); // adding object in ArrayList al.add(10); al.add(20); al.add(30); al.add(40); al.add(50); al.add(60); al.add(70); al.add(80); System.out.println("Before shuffling Arraylist:"); // getting Iterator // from arraylist to // traverse elements Iterator itr = al.iterator(); while (itr.hasNext()) { System.out.print(itr.next() + " "); } System.out.println(""); Random r1 = new Random(); for (int i = al.size() - 1; i >= 1; i--) { // swapping current index value // with random index value Collections.swap(al, i, r1.nextInt(i + 1)); } System.out.println("After shuffling Arraylist:"); itr = al.iterator(); while (itr.hasNext()) { System.out.print(itr.next() + " "); } } }
Producción
Before shuffling Arraylist: 10 20 30 40 50 60 70 80 After shuffling Arraylist: 10 60 30 20 50 80 40 70
Método 2: Usando Collections.shuffle()
Mezcla los elementos de ArrayList usando Collections.shuffle().
Java
// Java program to demonstrate shuffling // ArrayList elements using Collections.shuffle() import java.util.*; class ArraylistShuffle { public static void main(String args[]) { // creating ArrayList ArrayList<String> al = new ArrayList<String>(); // adding object in ArrayList al.add("C"); al.add("C++"); al.add("Java"); al.add("Python"); al.add("PHP"); al.add("Javascript"); System.out.println("Before shuffling Arraylist:"); // getting Iterator // from arraylist to // traverse elements Iterator itr = al.iterator(); while (itr.hasNext()) { System.out.print(itr.next() + " "); } System.out.println(""); Collections.shuffle(al); System.out.println("After shuffling Arraylist:"); itr = al.iterator(); while (itr.hasNext()) { System.out.print(itr.next() + " "); } } }
Producción
Before shuffling Arraylist: C C++ Java Python PHP Javascript After shuffling Arraylist: PHP Java C++ C Javascript Python
Publicación traducida automáticamente
Artículo escrito por patildhanu4111999 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA