Kolekcja Java - obracaj

Kolekcja Java - obracaj
W Javie, jeśli chcemy obrócić elementy w danej kolekcji, powinieneś wiedzieć o obracać się() metoda. Jest dostępny w Javie.Util.Moduł kolekcji.

Jawa.Util.Kolekcje.obracać się()

obracać się() Metoda w kolekcjach służy do obracania elementów obecnych w obiekcie zbioru o określonej odległości. Wymaga dwóch parametrów.

Składnia

Kolekcje.rotate (Collection_Object, dystans_Value);

Parametry

    1. Collection_Object odnosi się do listy podobnej do kolekcji, wektora itp.
    2. dystans_value przyjmuje liczbę całkowitą, która określa odległość.

Po obrotu pozycja indeksu elementu w obiekcie kolekcji zostanie porównana z pozycją przed indeksem za pomocą wzoru:

indeks ((new_index - dystans_value) mod długość (collection_object))

Scenariusz

Rozważ tablicę z 5 ciągami i obróć ją, określając wartość dystansu jako 2 jako 2.

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

Jeśli określamy odległość jako -2, to obrócona lista tablica będzie [„c”, „d”, „e”, „a”, „b”]]

Tutaj,

  1. 1. C jest obecny na pierwszej pozycji - 0. Zanim jego pozycja indeksowa w ArrayList wynosi 2
=> indeks ((0 - (-2)) mod 5)
=> indeks ((2) mod 5)
=> 2


Dlatego wynik to 2. Wcześniej C miał drugą pozycję indeksu.

  1. 2. D jest obecny w drugiej pozycji - 1. Zanim jego pozycja indeksu w ArrayList wynosi 3.
=> indeks ((1 - (-2)) mod 5)
=> indeks ((3) mod 5)
=> 3


Dlatego wynik to 3. Wcześniej D był na 3. pozycji indeksu.

  1. 3. E jest obecne na trzeciej pozycji - 2. Tak więc, zanim jego pozycja indeksu w ArrayList wynosi 4
=> indeks ((2 - (-2)) mod 5)
=> indeks ((4) mod 5)
=> 4


Dlatego wynik to 4. Wcześniej E był na czwartej pozycji indeksu.

  1. 4. A jest obecny na czwartym miejscu - 3. Tak więc, zanim jego pozycja indeksu w tablicy wynosi 0
=> indeks ((3 - (-2)) mod 5)
=> indeks ((5) mod 5)
=> 0


Dlatego wynik to 0. Wcześniej A był na 0. pozycji indeksu.

  1. 5. B jest obecny na piątej pozycji - 4. Tak więc, zanim jego pozycja indeksu w tablicy wynosi 1
=> indeks ((4 - (-2)) mod 5)
=> indeks ((6) mod 5)
=> 1


Dlatego wynik to 1. Wcześniej A był w pierwszej pozycji indeksu.

Wdrożenie scenariusza z kilkoma przykładami.

Przykład 1:

W naszym pierwszym przykładzie utworzymy kolekcję ArrayList, która przechowuje 5 elementów typu ciągu. Obrócimy listę tablicy, określając odległość jako -2.

Importuj Java.Util.*;
Klasa publiczna Main

public static void main (string [] args)
// Utwórz obiekt listy z typem ciągu
Lista List_Object = nowy ArrayList();
// Dodaj 5 elementów jeden po drugim do obiektu listy.
List_Object.Dodaj („Lotus”);
List_Object.Dodaj („Rose”);
List_Object.Dodaj („Lilly”);
List_Object.Dodaj („tulipan”);
List_Object.Dodaj („Jasmine”);
// Zwróć rzeczywisty List_Object
System.na zewnątrz.println („przed rotacją:”+ List_Object);
// Obróć list_object z odległością jako -2.
Kolekcje.rotate (List_Object, -2);
// Zwróć list_object po rotacji
System.na zewnątrz.println („After Rotation:”+ List_Object);

Wyjście


    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

Wyjaśnienie

Ważne jest, aby importować kolekcje z pakietu UTIL. Tak więc bezpośrednio importujemy wszystkie kolekcje za pomocą *.

Wewnątrz głównej metody:

Linia - 8:

Utworzyliśmy kolekcję ArrayList, która przechowuje elementy typu ciągów o nazwie obiektu jako List_Object.


Linia 11-15:

Więc dodajemy 5 elementów do listy_object.


Linia 18:

Wyświetlanie całej List_Object przed obrotem.


Linia 21:

Obróć tablicę, określając wartość odległości jako -2 i wyświetl obróconą listę.

Przykład 2:

W naszym drugim przykładzie utworzymy kolekcję ArrayList, która przechowuje 5 elementów typu ciągu. Obrócimy listę tablicy, określając odległość jako 8.

Importuj Java.Util.*;
Klasa publiczna Main

public static void main (string [] args)
// Utwórz obiekt listy z typem ciągu
Lista List_Object = nowy ArrayList();
// Dodaj 5 elementów jeden po drugim do obiektu listy.
List_Object.Dodaj („Lotus”);
List_Object.Dodaj („Rose”);
List_Object.Dodaj („Lilly”);
List_Object.Dodaj („tulipan”);
List_Object.Dodaj („Jasmine”);
// Zwróć rzeczywisty List_Object
System.na zewnątrz.println („przed rotacją:”+ List_Object);
// Obróć list_object z odległością jako 8.
Kolekcje.rotate (List_Object, 8);
// Zwróć list_object po rotacji
System.na zewnątrz.println („After Rotation:”+ List_Object);

Wyjście


    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

Wyjaśnienie

Ważne jest, aby importować kolekcje z pakietu UTIL. Tak więc bezpośrednio importujemy wszystkie kolekcje za pomocą *.

Wewnątrz głównej metody:

Linia - 8:

Utworzyliśmy kolekcję ArrayList, która przechowuje elementy typu ciągów o nazwie obiektu jako List_Object.


Linia 11-15:

Więc dodajemy 5 elementów do listy_object.


Linia 18:

Wyświetlanie całej List_Object przed obrotem.


Linia 21:

Obróć tablicę, określając wartość odległości jako 8 i wyświetl obróconą listę.

Przykład 3:

Teraz obrócimy tablicę dwa razy, określając wartości odległości jako 1 i 3.

Importuj Java.Util.*;
Klasa publiczna Main

public static void main (string [] args)
// Utwórz obiekt listy z typem ciągu
Lista List_Object = nowy ArrayList();
// Dodaj 5 elementów jeden po drugim do obiektu listy.
List_Object.Dodaj („Lotus”);
List_Object.Dodaj („Rose”);
List_Object.Dodaj („Lilly”);
List_Object.Dodaj („tulipan”);
List_Object.Dodaj („Jasmine”);
// Zwróć rzeczywisty List_Object
System.na zewnątrz.println („przed rotacją:”+ List_Object);
// obróć list_object z odległością jako 1.
Kolekcje.rotate (List_Object, 1);
// Zwróć list_object po rotacji
System.na zewnątrz.println („Rotation-1:”+ List_Object);
// obróć list_object z odległością jako 3.
Kolekcje.rotate (List_Object, 3);
// Zwróć list_object po rotacji
System.na zewnątrz.println („Rotation-2:”+ List_Object);

Wyjście


    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

Wyjaśnienie

Ważne jest, aby importować kolekcje z pakietu UTIL. Tak więc bezpośrednio importujemy wszystkie kolekcje za pomocą *.

Wewnątrz głównej metody:

Linia - 8:

Utworzyliśmy kolekcję ArrayList, która przechowuje elementy typu ciągów o nazwie obiektu jako List_Object.


Linia 11-15:

Więc dodajemy 5 elementów do listy_object.


Linia 18:

Wyświetlanie całej List_Object przed obrotem.


Linia 21:

Obróć tablicę, określając wartość odległości jako 1 i wyświetl obróconą listę.


Rotowana lista:

[Jasmine, Lotus, Rose, Lilly, Tulip]

Linia 26:

Obróć tablicę, określając wartość odległości jako 3 i wyświetl obróconą listę.


Rotowana lista:

[Rose, Lilly, Tulip, Jasmine, Lotus]

Wniosek

Widzieliśmy, jak obrócić obiekt kolekcji w Javie. Ważne jest, aby określić dystans_value jako parametr. Wymaga zarówno wartości dodatnich, jak i ujemnych. Możemy porównać obrót elementu za pomocą wzoru - indeks ((new_index - dystans_value) mod długość (collection_object)). Jeśli określamy dystans_value jako 0, wówczas obrócony kolekcja D będzie taka sama jak faktyczna kolekcja.