Odwrócenie listy w Javie dzisiaj nie jest proste. Dlatego ten artykuł jest napisany. Technicznie lista w Javie to interfejs. Interfejs to klasa z sygnaturami metod, które nie mają definicji. Klasa musi zostać zaimplementowana z tego interfejsu, zanim obiekty zaimplementowanej klasy można utworzyć. W zaimplementowanej klasie metody są zdefiniowane.
W Javie jest klasa, wciąż nazywana lista. Jednak ta klasa jest przeznaczona do elementów ciągów dla listy. Lista musi nie tylko składać się z strun. Lista może składać się ze wszystkich pływaków, wszystkich podwójnych, wszystkich liczb całkowitych itp. Każdy z tych typów musiałby zostać odwrócony, w zależności od problemu. Więc ta klasa nie jest wspomniana dalej w tym artykule dla listy ciągu. Odwrócenie listy w tym artykule odnosi się do interfejsu listy wykonanej w klasie i obiektu.
Istnieją predefiniowane listy Java zaimplementowane z interfejsu listy. Te listy to: Streszczenie LList, Streszczenie SEBASTENTALLIST, ArrayList, Attributelist, CopyOnWriteArrayList, LinkedList, Rolelist, ROCEUNRESolvedList, Stack i Vector.
Większość z tych klas listy znajduje się w Javie.Util.* pakiet.
Kolekcje klas
Klasa kolekcji jest również w Javie.Util.* pakiet. Klasa kolekcji ma metodę statyczną odwrotną (), która zwraca pustkę. Metoda statyczna oznacza, że klasa kolekcji nie musi być tworzona przed użyciem metody odwrotnej. Ta metoda przyjmie dowolny z poprzednich obiektów listy jako argument i odwróci ją.
Niektóre wyrażenia mogą zwrócić obiekt listy ogólnej. Metoda odwrotna kolekcji odwróci ten obiekt listy, gdy zostanie podana jako argument.
Składnia metody kolekcji odwrotna () to:
statyczne odwrotność pustki (lista listy)Odwracanie ręcznie
Obiekt listy w Javie może być również odwrócony ręcznie. W tym artykule wyjaśniono również dwie z tych ręcznych metod.
Odwracanie za pomocą metody odwrotnej kolekcji
Odwracanie predefiniowanej listy
Poniższy program odwraca tablicę alfabetów:
Wyjście to:
[Z, y, x, w, v]dla wejścia,
[V, W, X, Y, Z]Zwróć uwagę na sposób zastosowania klasy kolekcji i jej metody odwrotnej ().
Odwracanie zwróconej listy ogólnego celu
Załóżmy, że ARR to szereg znaków. Klasa, tablice, w Javie.Util.* Pakiet, ma metodę statyczną, aslist (), która wzięłaby ARR jako argument i zwróciłby listę ogólnego zastosowania o stałym rozmiarze z tymi samymi znakami. Statyczna metoda odwrotnej klasy kolekcji nadal odwróci tę listę. Poniższy program ilustruje to:
Importuj Java.Util.*;Wyjście to:
[Z, y, x, w, v]Ręczne odwrócenie listy w Javie
Jednym ze sposobów, w jaki tablica można odwrócić, jest zamiana elementów. Ostatni element jest zamieniony na pierwszy; Ostatni, ale jeden jest zamieniany na drugie; Trzeci do ostatniego jest zamieniany na trzeci; i tak dalej. Do tego procesu potrzebne są dwa indeksy, I i J. Indeks I jest od samego początku, a J jest od końca. W trakcie tego procesu zamianę próchnicy, gdy ja jest mniej niż j. Wszystkie elementy są zamienne, jeśli lista ma równy rozmiar liczby. Jeśli lista ma nieparzystą wielkość liczby, wówczas element środkowy pozostaje w swojej pozycji. Ten sposób cofania powinien być używany z listami i tablicami o stałej wielkości.
Innym sposobem ręcznego odwrócenia można zilustrować w następujący sposób:
Oto lista, którą należy odwrócić:
V, w, x, y, zOstatni element Z jest usuwany i wstawiany do pierwszej pozycji, aby lista stała się:
Z, V, W, X, YNowy ostatni element jest usuwany i wstawiany do drugiej pozycji, aby lista stała się:
Z, Y, V, W, XNowy ostatni element jest usuwany i wstawiany do trzeciej pozycji, aby lista stała się:
Z, y, x, v, wNowy ostatni element jest usuwany i wstawiany do czwartej pozycji, aby lista stała się:
Z, y, x, w, v,Zauważ, że rozmiar listy nigdy się nie zmienił dla każdego wyniku. W takim przypadku, gdyby J był wskaźnikiem ostatniego elementu, wartość J nie zmieniłaby się w procesie. Podczas gdy wartość indeksu I, od samego początku, zmieniłaby się z 0 na 3. Więc jestem zwiększany, aż będzie tuż poniżej J przez jedną jednostkę. Ten sposób cofania to sposób usunięcia.
W ten sposób nie można użyć z listą o stałej wielkości, ponieważ elementu nie można usunąć za pomocą listy stałej wielkości.
Odwracanie przez zamian
Główną metodą użycia tutaj jest metoda set () interfejsu listy, której pełna składnia to:
E set (indeks int, element e)Pierwszym argumentem dla tej metody jest indeks konkretnego elementu na liście. Drugim argumentem jest element zastępujący element w pozycji indeksu. Poniższy program zamienia się na listę o stałej wielkości.
Importuj Java.Util.*;Wyjście to:
[Z, y, x, w, v]W zamian używa klasycznego kodu do zamiany dwóch wartości. W takim przypadku kod to:
char temp = lst.Get (j);W instrukcji inicjalizacji możliwe jest zainicjowanie J w pętli. Możliwe jest również zmniejszenie J w kolejnej instrukcji iteracyjnej na pętlę. W tym przypadku dwa wyrażenia są oddzielone przecinkiem. Poprzednia pętla jest ponownie zakodowana w następujący sposób:
Importuj Java.Util.*;Tutaj jedna za pętlę obsługuje dwie zmienne. Wyjście jest takie same, jak pokazano poniżej:
[Z, y, x, w, v]Odwracanie przez usuwanie i insersowanie
Sposób usunięcia i insertera nie może działać z zwróconą listą stałej wielkości. Może jednak działać z predefiniowanymi klasami list. W ten sposób używa metody add () listy, której składnią jest:
void add (int indeks, element e)„Dodaj” tutaj oznacza wstaw. To znaczy: wstaw element E do określonego indeksu. Po wstawieniu wszystkie elementy po prawej stronie są przesunięte w jednym miejscu.
Używa również metody remove (), której składnią jest:
E usuń (indeks int)Oznacza to: usunięcie elementu w określonym indeksie i zwrócenie go. Poniższy program usuwa i Inserser (do odwrócenia):
Importuj Java.Util.*;Wyjście to:
[Z, y, x, w, v]Zgodnie z oczekiwaniami i dla tego programu wartość J nie zmienia się z ogólnego punktu widzenia.
Możliwe jest zainicjowanie J w instrukcji inicjalizacji w pętli. W tym przypadku dwa wyrażenia są oddzielone przecinkiem. Poprzednia pętla jest ponownie zakodowana w następujący sposób:
Importuj Java.Util.*;Wyjście to:
[Z, y, x, w, v]Zgodnie z oczekiwaniami.
Wniosek
W tym artykule wyjaśniono, że lista może zostać odwrócona za pomocą metody statycznej odwrotnej () klasy kolekcji, w której obiekt listy staje się argumentem metody. Ponadto listę można również odwrócić ręcznie, zamieniając elementy lub za pomocą usuwania i insersu. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły z Linux, aby uzyskać więcej wskazówek i samouczków.