Collezione Java - Ruota

Collezione Java - Ruota
In Java, se vogliamo ruotare gli elementi all'interno della raccolta data, dovresti sapere ruotare() metodo. È disponibile nel Java.util.Modulo di raccolte.

Giava.util.Collezioni.ruotare()

ruotare() Il metodo nelle raccolte viene utilizzato per ruotare gli elementi presenti nell'oggetto di raccolta con una distanza specifica. Ci vogliono due parametri.

Sintassi

Collezioni.rotare (collection_object, distance_value);

Parametri

    1. Collection_Object si riferisce all'elenco della raccolta, vettoriale ecc.
    2. Distance_Value prende un numero intero che specifica la distanza.

Dopo la rotazione, la posizione dell'indice dell'elemento nell'oggetto di raccolta verrà confrontata con la posizione dell'indice prima usando la formula:

INDICE ((new_index - distance_value) Lunghezza mod (raccolta_object))

Scenario

Considera un arraylist con 5 stringhe e ruotalo specificando la distanza_value come 2.

["A", "b", "c", "d", "e"]

Se specifichiamo la distanza come -2, allora il raggio ruotato sarà ["c", "d", "e", "a", "b"]

Qui,

  1. 1. C è presente in prima posizione - 0. Quindi, prima che la sua posizione dell'indice nella matrice è 2
=> indice ((0 - (-2)) mod 5)
=> indice ((2) mod 5)
=> 2


Pertanto, il risultato è 2. In precedenza, C era alla seconda posizione dell'indice.

  1. 2. D è presente in seconda posizione - 1. Quindi, prima che la sua posizione indice nella matrice è 3.
=> indice ((1 - (-2)) mod 5)
=> indice ((3) mod 5)
=> 3


Pertanto, il risultato è 3. In precedenza, D era alla terza posizione dell'indice.

  1. 3. E è presente in terza posizione - 2. Quindi, prima che la sua posizione indice nell'ArrayList è 4
=> indice ((2 - (-2)) mod 5)
=> indice ((4) mod 5)
=> 4


Pertanto, il risultato è 4. In precedenza, E era nella quarta posizione dell'indice.

  1. 4. A è presente in quarta posizione - 3. Quindi, prima che la sua posizione indice nella matrice è 0
=> indice ((3 - (-2)) mod 5)
=> indice ((5) mod 5)
=> 0


Pertanto, il risultato è 0. In precedenza, A era alla 0a posizione dell'indice.

  1. 5. B è presente alla quinta posizione - 4. Quindi, prima che la sua posizione indice nell'ArrayList è 1
=> indice ((4 - (-2)) mod 5)
=> indice ((6) mod 5)
=> 1


Pertanto, il risultato è 1. In precedenza, A era nella prima posizione dell'indice.

Implementare lo scenario con alcuni esempi.

Esempio 1:

Nel nostro primo esempio, creeremo una collezione ArrayList che memorizza 5 elementi di tipo di stringa. Ruoteremo la lista degli array specificando la distanza come -2.

Importa Java.util.*;
Classe pubblica Main

public static void main (string [] args)
// crea un oggetto elenco con tipo di stringa
Elenco list_object = new ArrayList();
// Aggiungi 5 elementi uno per uno nell'oggetto elenco.
list_object.Aggiungi ("Lotus");
list_object.Aggiungi ("rosa");
list_object.Aggiungi ("Lilly");
list_object.aggiungere ("tulip");
list_object.Aggiungi ("Jasmine");
// restituisce Effect List_Object
Sistema.fuori.println ("prima della rotazione:"+ list_object);
// ruota l'elenco_object con la distanza come -2.
Collezioni.rotare (list_object, -2);
// Restituisce List_Object dopo la rotazione
Sistema.fuori.println ("Dopo la rotazione:"+ list_object);

Produzione


    1. lilly => indice ((0 - (-2)) mod 5) => 2
    2. tulip => indice ((1 - (-2)) mod 5) => 3
    3. jasmine => indice ((2 - (-2)) mod 5) => 4
    4. lotus => indice ((3 - (-2)) mod 5) => 0
    5. rose => indice ((4 - (-2)) mod 5) => 1

Spiegazione

È importante importare raccolte dal pacchetto util. Quindi, importiamo direttamente tutte le raccolte utilizzando *.

All'interno del metodo principale:

Linea - 8:

Abbiamo creato una raccolta ArrayList che contiene elementi del tipo di stringa con nome oggetto come list_object.


Riga 11-15:

Quindi, stiamo aggiungendo 5 elementi nell'elenco_object.


Riga 18:

Visualizzazione dell'intero elenco_object prima della rotazione.


Riga 21:

Ruota la lista dell'array specificando il valore della distanza come -2 e visualizza l'elenco ruotato.

Esempio 2:

Nel nostro secondo esempio, creeremo una collezione ArrayList che memorizza 5 elementi di tipo di stringa. Ruoteremo la lista degli array specificando la distanza come 8.

Importa Java.util.*;
Classe pubblica Main

public static void main (string [] args)
// crea un oggetto elenco con tipo di stringa
Elenco list_object = new ArrayList();
// Aggiungi 5 elementi uno per uno nell'oggetto elenco.
list_object.Aggiungi ("Lotus");
list_object.Aggiungi ("rosa");
list_object.Aggiungi ("Lilly");
list_object.aggiungere ("tulip");
list_object.Aggiungi ("Jasmine");
// restituisce Effect List_Object
Sistema.fuori.println ("prima della rotazione:"+ list_object);
// ruota l'elenco_object con la distanza come 8.
Collezioni.rotare (list_object, 8);
// Restituisce List_Object dopo la rotazione
Sistema.fuori.println ("Dopo la rotazione:"+ list_object);

Produzione


    1. lilly => indice ((0 - (8)) mod 5) => 2
    2. tulip => indice ((1 - (8)) mod 5) => 3
    3. jasmine => indice ((2 - (8)) mod 5) => 4
    4. lotus => indice ((3 - (8)) mod 5) => 0
    5. rose => indice ((4 - (8)) mod 5) => 1

Spiegazione

È importante importare raccolte dal pacchetto util. Quindi, importiamo direttamente tutte le raccolte utilizzando *.

All'interno del metodo principale:

Linea - 8:

Abbiamo creato una raccolta ArrayList che contiene elementi del tipo di stringa con nome oggetto come list_object.


Riga 11-15:

Quindi stiamo aggiungendo 5 elementi nell'elenco_object.


Riga 18:

Visualizzazione dell'intero elenco_object prima della rotazione.


Riga 21:

Ruota la lista di array specificando il valore della distanza come 8 e visualizza l'elenco ruotato.

Esempio 3:

Ora ruoteremo due volte l'ArrayList specificando i valori della distanza come 1 e 3.

Importa Java.util.*;
Classe pubblica Main

public static void main (string [] args)
// crea un oggetto elenco con tipo di stringa
Elenco list_object = new ArrayList();
// Aggiungi 5 elementi uno per uno nell'oggetto elenco.
list_object.Aggiungi ("Lotus");
list_object.Aggiungi ("rosa");
list_object.Aggiungi ("Lilly");
list_object.aggiungere ("tulip");
list_object.Aggiungi ("Jasmine");
// restituisce Effect List_Object
Sistema.fuori.println ("prima della rotazione:"+ list_object);
// ruota l'elenco_object con la distanza come 1.
Collezioni.rotare (list_object, 1);
// Restituisce List_Object dopo la rotazione
Sistema.fuori.println ("rotazione-1:"+ list_object);
// ruota l'elenco_object con la distanza come 3.
Collezioni.rotare (list_object, 3);
// Restituisce List_Object dopo la rotazione
Sistema.fuori.println ("rotazione-2:"+ list_object);

Produzione


    1. lilly => indice ((0 - (8)) mod 5) => 2
    2. tulip => indice ((1 - (8)) mod 5) => 3
    3. jasmine => indice ((2 - (8)) mod 5) => 4
    4. lotus => indice ((3 - (8)) mod 5) => 0
    5. rose => indice ((4 - (8)) mod 5) => 1

Spiegazione

È importante importare raccolte dal pacchetto util. Quindi, importiamo direttamente tutte le raccolte utilizzando *.

All'interno del metodo principale:

Linea - 8:

Abbiamo creato una raccolta ArrayList che contiene elementi del tipo di stringa con nome oggetto come list_object.


Riga 11-15:

Quindi, stiamo aggiungendo 5 elementi nell'elenco_object.


Riga 18:

Visualizzazione dell'intero elenco_object prima della rotazione.


Riga 21:

Ruota la lista dell'array specificando il valore della distanza come 1 e visualizza l'elenco ruotato.


Elenco ruotato:

[Jasmine, Lotus, Rose, Lilly, Tulip]

Riga 26:

Ruota la lista degli array specificando il valore della distanza come 3 e visualizza l'elenco ruotato.


Elenco ruotato:

[Rose, Lilly, Tulip, Jasmine, Lotus]

Conclusione

Abbiamo visto come ruotare l'oggetto di raccolta in Java. È importante specificare la distanza_value come parametro. Ci vogliono valori sia positivi che negativi. Possiamo confrontare la rotazione dell'elemento usando la formula - INDICE ((new_index - distance_value) Lunghezza mod (raccolta_object)). Se specifichiamo Distance_Value come 0, la raccolta D ruotata sarà la stessa della raccolta effettiva.