Colección Java - Rotar

Colección Java - Rotar
En Java, si queremos rotar los elementos dentro de la colección dada, debe saber sobre girar() método. Está disponible en el Java.utilizar.Módulo de colecciones.

Java.utilizar.Colecciones.girar()

girar() El método en las colecciones se utiliza para rotar los elementos presentes en el objeto de recolección con distancia específica. Se necesitan dos parámetros.

Sintaxis

Colecciones.rotar (colección_object, distancia_value);

Parámetros

    1. Collection_Object se refiere a la colección como lista, vector, etc.
    2. Distance_Value toma un entero que especifica la distancia.

Después de la rotación, la posición de índice del elemento en el objeto de recolección se comparará con la posición del índice anterior utilizando la fórmula:

índice ((new_index - Distance_Value) Longitud del mod (Collection_Object))

Guión

Considere una lista de matrices con 5 cadenas y gírela especificando el Distance_Value como 2.

["A B C D E"]

Si especificamos la distancia como -2, entonces la ArrayList rotada será ["C", "D", "E", "A", "B"]

Aquí,

  1. 1. C está presente en primera posición - 0. Entonces, antes de que su posición de índice en ArrayList sea 2
=> índice ((0 - (-2)) mod 5)
=> índice ((2) mod 5)
=> 2


Por lo tanto, el resultado es 2. Anteriormente, C estaba en la segunda posición del índice.

  1. 2. D está presente en la segunda posición - 1. Entonces, antes de que su posición de índice en ArrayList sea 3.
=> índice ((1 - (-2)) mod 5)
=> índice ((3) mod 5)
=> 3


Por lo tanto, el resultado es 3. Anteriormente, D estaba en la 3ra posición del índice.

  1. 3. E está presente en la tercera posición - 2. Entonces, antes de su posición de índice en la lista de arrays es 4
=> índice ((2 - (-2)) mod 5)
=> índice ((4) mod 5)
=> 4


Por lo tanto, el resultado es 4. Anteriormente, E estaba en la posición del 4to índice.

  1. 4. A está presente en la cuarta posición - 3. Entonces, antes de que su posición de índice en ArrayList sea 0
=> índice ((3 - (-2)) mod 5)
=> índice ((5) mod 5)
=> 0


Por lo tanto, el resultado es 0. Anteriormente, A estaba en la posición del índice 0.

  1. 5. B está presente en la quinta posición - 4. Entonces, antes de que su posición de índice en ArrayList sea 1
=> índice ((4 - (-2)) mod 5)
=> índice ((6) mod 5)
=> 1


Por lo tanto, el resultado es 1. Anteriormente, A estaba en la primera posición del índice.

Implementemos el escenario con algunos ejemplos.

Ejemplo 1:

En nuestro primer ejemplo, crearemos una colección ArrayList que almacene 5 elementos de tipo de cadena. Rotaremos la ArrayList especificando la distancia como -2.

importar java.utilizar.*;
clase pública

public static void main (string [] args)
// Crear un objeto de lista con el tipo de cadena
Lista list_object = new ArrayList();
// Agregar 5 elementos uno por uno en el objeto de lista.
list_object.agregar ("loto");
list_object.agregar ("rosa");
list_object.agregar ("lilly");
list_object.agregar ("tulip");
list_object.Agregar ("Jasmine");
// devuelve list_object real
Sistema.afuera.println ("Antes de la rotación:"+ list_object);
// gire la lista_object con distancia como -2.
Colecciones.rotar (list_object, -2);
// Devuelve el List_Object después de la rotación
Sistema.afuera.println ("Después de la rotación:"+ list_object);

Producción


    1. lilly => índice ((0 - (-2)) mod 5) => 2
    2. tulip => índice ((1 - (-2)) mod 5) => 3
    3. jasmine => índice ((2 - (-2)) mod 5) => 4
    4. lotus => índice ((3 - (-2)) mod 5) => 0
    5. rosa => índice ((4 - (-2)) mod 5) => 1

Explicación

Es importante importar colecciones del paquete Util. Entonces, importamos directamente todas las colecciones usando *.

Dentro del método principal:

Línea - 8:

Creamos una colección ArrayList que contiene elementos de tipo de cadena con el nombre del objeto como list_object.


Línea 11-15:

Entonces, estamos agregando 5 elementos a la lista de list_object.


Línea 18:

Mostrando todo el list_object antes de la rotación.


Línea 21:

Gire la ArrayList especificando el valor de distancia como -2 y muestre la lista rotada.

Ejemplo 2:

En nuestro segundo ejemplo, crearemos una colección ArrayList que almacene 5 elementos de tipo de cadena. Rotaremos la lista de matrices especificando la distancia como 8.

importar java.utilizar.*;
clase pública

public static void main (string [] args)
// Crear un objeto de lista con el tipo de cadena
Lista list_object = new ArrayList();
// Agregar 5 elementos uno por uno en el objeto de lista.
list_object.agregar ("loto");
list_object.agregar ("rosa");
list_object.agregar ("lilly");
list_object.agregar ("tulip");
list_object.Agregar ("Jasmine");
// devuelve list_object real
Sistema.afuera.println ("Antes de la rotación:"+ list_object);
// gire la lista_object con distancia como 8.
Colecciones.rotar (list_object, 8);
// Devuelve el List_Object después de la rotación
Sistema.afuera.println ("Después de la rotación:"+ list_object);

Producción


    1. lilly => índice ((0 - (8)) mod 5) => 2
    2. tulip => índice ((1 - (8)) mod 5) => 3
    3. jasmine => índice ((2 - (8)) mod 5) => 4
    4. lotus => índice ((3 - (8)) mod 5) => 0
    5. rosa => índice ((4 - (8)) mod 5) => 1

Explicación

Es importante importar colecciones del paquete Util. Entonces, importamos directamente todas las colecciones usando *.

Dentro del método principal:

Línea - 8:

Creamos una colección ArrayList que contiene elementos de tipo de cadena con el nombre del objeto como list_object.


Línea 11-15:

Entonces estamos agregando 5 elementos a la lista de list_object.


Línea 18:

Mostrando todo el list_object antes de la rotación.


Línea 21:

Gire la ArrayList especificando el valor de distancia como 8 y muestre la lista rotada.

Ejemplo 3:

Ahora, rotaremos la ArrayList dos veces especificando valores de distancia como 1 y 3.

importar java.utilizar.*;
clase pública

public static void main (string [] args)
// Crear un objeto de lista con el tipo de cadena
Lista list_object = new ArrayList();
// Agregar 5 elementos uno por uno en el objeto de lista.
list_object.agregar ("loto");
list_object.agregar ("rosa");
list_object.agregar ("lilly");
list_object.agregar ("tulip");
list_object.Agregar ("Jasmine");
// devuelve list_object real
Sistema.afuera.println ("Antes de la rotación:"+ list_object);
// gire la lista_object con distancia como 1.
Colecciones.rotar (list_object, 1);
// Devuelve el List_Object después de la rotación
Sistema.afuera.println ("rotación-1:"+ list_object);
// gire la lista_object con distancia como 3.
Colecciones.rotar (list_object, 3);
// Devuelve el List_Object después de la rotación
Sistema.afuera.println ("Rotación-2:"+ list_object);

Producción


    1. lilly => índice ((0 - (8)) mod 5) => 2
    2. tulip => índice ((1 - (8)) mod 5) => 3
    3. jasmine => índice ((2 - (8)) mod 5) => 4
    4. lotus => índice ((3 - (8)) mod 5) => 0
    5. rosa => índice ((4 - (8)) mod 5) => 1

Explicación

Es importante importar colecciones del paquete Util. Entonces, importamos directamente todas las colecciones usando *.

Dentro del método principal:

Línea - 8:

Creamos una colección ArrayList que contiene elementos de tipo de cadena con el nombre del objeto como list_object.


Línea 11-15:

Entonces, estamos agregando 5 elementos a la lista de list_object.


Línea 18:

Mostrando todo el list_object antes de la rotación.


Línea 21:

Gire la ArrayList especificando el valor de distancia como 1 y muestra la lista rotada.


Lista rotada:

[Jasmine, Lotus, Rose, Lilly, Tulip]

Línea 26:

Gire la ArrayList especificando el valor de distancia como 3 y muestre la lista rotada.


Lista rotada:

[Rose, Lilly, Tulip, Jasmine, Lotus]

Conclusión

Hemos visto cómo rotar el objeto de recolección en Java. Es importante especificar Distance_Value como parámetro. Se necesitan valores positivos y negativos. Podemos comparar la rotación del elemento usando la fórmula - índice ((new_index - Distance_Value) Longitud del mod (Collection_Object)). Si especificamos Distance_Value como 0, entonces la colección d girada será la misma que la colección real.