Java Collection - Rotate

Java Collection - Rotate
I Java, hvis vi ønsker å rotere elementene i den gitte samlingen, bør du vite om rotere() metode. Det er tilgjengelig i Java.util.Samlingsmodul.

Java.util.Samlinger.rotere()

rotere() Metode i samlinger brukes til å rotere elementene som er til stede i samlingsobjektet med spesifikk avstand. Det tar to parametere.

Syntaks

Samlinger.Rotate (Collection_Object, Distance_Value);

Parametere

    1. Collection_Object refererer til samlingen som liste, vektor osv.
    2. Distance_Value tar et heltall som spesifiserer avstanden.

Etter rotasjonen vil indeksposisjonen til elementet i samlingsobjektet sammenlignes med før indeksposisjonen ved bruk av formelen:

indeks ((new_index - distance_value) mod lengde (collection_object))

Scenario

Vurder en arraylist med 5 strenger og roter den ved å spesifisere avstanden_value som 2.

[“A”, ”B”, ”C”, ”D”, ”E”]

Hvis vi spesifiserer avstanden som -2, vil den roterte arraylisten være [”C”, ”D”, ”E”, “A”, ”B”]

Her,

  1. 1. C er til stede i første stilling - 0. Så før det er indeksposisjon i arraylisten er 2
=> indeks ((0 - (-2)) Mod 5)
=> indeks ((2) Mod 5)
=> 2


Derfor er resultatet 2. Tidligere var C på 2. indeksposisjon.

  1. 2. D er til stede på andre stilling - 1. Så før det er indeksposisjon i arraylisten er 3.
=> indeks ((1 - (-2)) Mod 5)
=> Indeks ((3) Mod 5)
=> 3


Derfor er resultatet 3. Tidligere var D på 3. indeksposisjon.

  1. 3. E er til stede på tredje plassering - 2. Så før det er indeksposisjon i arraylisten er 4
=> indeks ((2 - (-2)) Mod 5)
=> indeks ((4) Mod 5)
=> 4


Derfor er resultatet 4. Tidligere var E på fjerde indeksposisjon.

  1. 4. A er til stede på fjerde stilling - 3. Så før det er indeksposisjon i arraylisten er 0
=> indeks ((3 - (-2)) Mod 5)
=> indeks ((5) Mod 5)
=> 0


Derfor er resultatet 0. Tidligere var A på 0. indeksposisjon.

  1. 5. B er til stede på femte plassering - 4. Så før det er indeksposisjon i arraylisten er 1
=> indeks ((4 - (-2)) Mod 5)
=> indeks ((6) Mod 5)
=> 1


Derfor er resultatet 1. Tidligere var A på 1. indeksposisjon.

La oss implementere scenariet med noen eksempler.

Eksempel 1:

I vårt første eksempel vil vi lage en ArrayList -samling som lagrer 5 elementer av strengtype. Vi vil rotere arraylisten ved å spesifisere avstanden som -2.

Importer Java.util.*;
Offentlig klasse Main

public static void main (String [] args)
// Opprett et listeobjekt med strengtype
Liste list_object = ny ArrayList();
// Legg til 5 elementer en etter en i listeobjektet.
list_object.Legg til ("Lotus");
list_object.legg til ("rose");
list_object.Legg til ("Lilly");
list_object.Legg til ("Tulip");
list_object.Legg til ("Jasmine");
// Returner faktisk liste_objekt
System.ute.println ("før rotasjon:"+ list_object);
// roter list_objekt med avstand som -2.
Samlinger.roter (list_object, -2);
// Returner list_objekt etter rotasjon
System.ute.println ("Etter rotasjon:"+ list_object);

Produksjon


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

Forklaring

Det er viktig å importere samlinger fra util -pakken. Så vi importerer direkte alle samlingene ved å bruke *.

Inne i hovedmetoden:

Linje - 8:

Vi opprettet en ArrayList -kolleksjon som inneholder strengtypeelementer med objektnavn som list_object.


Linje 11-15:

Så vi legger til 5 elementer i list_objekt.


Linje 18:

Viser hele listen_objekt før rotasjon.


Linje 21:

Drei arraylisten ved å spesifisere avstandsverdien som -2 og vise den roterte listen.

Eksempel 2:

I vårt andre eksempel vil vi lage en ArrayList -samling som lagrer 5 elementer av strengtype. Vi vil rotere arraylisten ved å spesifisere avstanden som 8.

Importer Java.util.*;
Offentlig klasse Main

public static void main (String [] args)
// Opprett et listeobjekt med strengtype
Liste list_object = ny ArrayList();
// Legg til 5 elementer en etter en i listeobjektet.
list_object.Legg til ("Lotus");
list_object.legg til ("rose");
list_object.Legg til ("Lilly");
list_object.Legg til ("Tulip");
list_object.Legg til ("Jasmine");
// Returner faktisk liste_objekt
System.ute.println ("før rotasjon:"+ list_object);
// roter list_objekt med avstand som 8.
Samlinger.roter (list_object, 8);
// Returner list_objekt etter rotasjon
System.ute.println ("Etter rotasjon:"+ list_object);

Produksjon


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

Forklaring

Det er viktig å importere samlinger fra util -pakken. Så vi importerer direkte alle samlingene ved å bruke *.

Inne i hovedmetoden:

Linje - 8:

Vi opprettet en ArrayList -kolleksjon som inneholder strengtypeelementer med objektnavn som list_object.


Linje 11-15:

Så vi legger til 5 elementer i list_objekt.


Linje 18:

Viser hele listen_objekt før rotasjon.


Linje 21:

Drei ArrayList ved å spesifisere avstandsverdien som 8 og vise den roterte listen.

Eksempel 3:

Nå vil vi rotere ArrayList to ganger ved å spesifisere avstandsverdier som 1 og 3.

Importer Java.util.*;
Offentlig klasse Main

public static void main (String [] args)
// Opprett et listeobjekt med strengtype
Liste list_object = ny ArrayList();
// Legg til 5 elementer en etter en i listeobjektet.
list_object.Legg til ("Lotus");
list_object.legg til ("rose");
list_object.Legg til ("Lilly");
list_object.Legg til ("Tulip");
list_object.Legg til ("Jasmine");
// Returner faktisk liste_objekt
System.ute.println ("før rotasjon:"+ list_object);
// roter list_objekt med avstand som 1.
Samlinger.roter (list_object, 1);
// Returner list_objekt etter rotasjon
System.ute.println ("rotasjon-1:"+ list_object);
// roter list_objekt med avstand som 3.
Samlinger.roter (list_object, 3);
// Returner list_objekt etter rotasjon
System.ute.println ("rotasjon-2:"+ list_object);

Produksjon


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

Forklaring

Det er viktig å importere samlinger fra util -pakken. Så vi importerer direkte alle samlingene ved å bruke *.

Inne i hovedmetoden:

Linje - 8:

Vi opprettet en ArrayList -kolleksjon som inneholder strengtypeelementer med objektnavn som list_object.


Linje 11-15:

Så vi legger til 5 elementer i list_objekt.


Linje 18:

Viser hele listen_objekt før rotasjon.


Linje 21:

Drei arrayList ved å spesifisere avstandsverdien som 1 og vise den roterte listen.


Rotert liste:

[Jasmine, Lotus, Rose, Lilly, Tulip]

Linje 26:

Drei ArrayList ved å spesifisere avstandsverdien som 3 og vise den roterte listen.


Rotert liste:

[Rose, Lilly, Tulip, Jasmine, Lotus]

Konklusjon

Vi har sett hvordan vi skal rotere samlingsobjektet i Java. Det er viktig å spesifisere Distance_Value som en parameter. Det krever både positive og negative verdier. Vi kan sammenligne elementrotasjonen ved hjelp av formelen - indeks ((new_index - distance_value) mod lengde (collection_object)). Hvis vi spesifiserer Distance_Value som 0, vil den roterte D -samlingen være den samme som selve samlingen.